施肥計画の圃場を配置場所単位でグループ化し、グループ×肥料の集計表を 表示・PDF出力できる機能を追加。 - Backend: DistributionPlan/Group/GroupField モデル (migration 0003) - API: GET/POST/PUT/DELETE/PDF (/api/fertilizer/distribution/) - Frontend: 一覧・新規作成・編集画面 (/distribution) - Navbar に分配計画メニューを追加 - 集計プレビューはクライアントサイド計算(API不要) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
from django.contrib import admin
|
|
from .models import Fertilizer, FertilizationPlan, FertilizationEntry, DistributionPlan, DistributionGroup, DistributionGroupField
|
|
|
|
|
|
@admin.register(Fertilizer)
|
|
class FertilizerAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'maker', 'capacity_kg', 'nitrogen_pct']
|
|
|
|
|
|
class FertilizationEntryInline(admin.TabularInline):
|
|
model = FertilizationEntry
|
|
extra = 0
|
|
|
|
|
|
@admin.register(FertilizationPlan)
|
|
class FertilizationPlanAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'year', 'variety']
|
|
list_filter = ['year']
|
|
inlines = [FertilizationEntryInline]
|
|
|
|
|
|
class DistributionGroupFieldInline(admin.TabularInline):
|
|
model = DistributionGroupField
|
|
extra = 0
|
|
readonly_fields = ['distribution_plan']
|
|
|
|
|
|
class DistributionGroupInline(admin.TabularInline):
|
|
model = DistributionGroup
|
|
extra = 0
|
|
|
|
|
|
@admin.register(DistributionPlan)
|
|
class DistributionPlanAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'fertilization_plan', 'created_at']
|
|
list_filter = ['fertilization_plan__year']
|
|
inlines = [DistributionGroupInline]
|
|
|
|
|
|
@admin.register(DistributionGroup)
|
|
class DistributionGroupAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'distribution_plan', 'order']
|
|
inlines = [DistributionGroupFieldInline]
|