Backend: - apps/materials 新規作成(Material, FertilizerProfile, PesticideProfile, StockTransaction) - 資材マスタ CRUD API(/api/materials/materials/) - 入出庫履歴 API(/api/materials/stock-transactions/) - 在庫集計 API(/api/materials/stock-summary/) - 既存 Fertilizer に material OneToOneField 追加(0005マイグレーション、データ移行込み) Frontend: - /materials: 在庫一覧画面(タブフィルタ、履歴展開、入出庫モーダル) - /materials/masters: 資材マスタ管理(肥料/農薬/その他タブ、インライン編集) - Navbar に「在庫管理」メニュー追加 - Material/StockTransaction/StockSummary 型定義追加 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
29 lines
866 B
Python
29 lines
866 B
Python
from django.contrib import admin
|
|
|
|
from .models import FertilizerProfile, Material, PesticideProfile, StockTransaction
|
|
|
|
|
|
class FertilizerProfileInline(admin.StackedInline):
|
|
model = FertilizerProfile
|
|
extra = 0
|
|
|
|
|
|
class PesticideProfileInline(admin.StackedInline):
|
|
model = PesticideProfile
|
|
extra = 0
|
|
|
|
|
|
@admin.register(Material)
|
|
class MaterialAdmin(admin.ModelAdmin):
|
|
list_display = ['name', 'material_type', 'maker', 'stock_unit', 'is_active']
|
|
list_filter = ['material_type', 'is_active']
|
|
search_fields = ['name', 'maker']
|
|
inlines = [FertilizerProfileInline, PesticideProfileInline]
|
|
|
|
|
|
@admin.register(StockTransaction)
|
|
class StockTransactionAdmin(admin.ModelAdmin):
|
|
list_display = ['material', 'transaction_type', 'quantity', 'occurred_on']
|
|
list_filter = ['transaction_type', 'occurred_on']
|
|
search_fields = ['material__name']
|