実施内容 # 変更内容 ファイル 1 OfficialChusankanField に 11 フィールド追加(17列化) models.py 2 中山間インポート: 17 列すべて読み込み対応 views.py 3 共済インポート: 面積カラム名不一致バグ修正 + a→m2 変換(×100) views.py 4 シリアライザに 11 フィールド追加 serializers.py 5 共済 PDF: A4 縦、表形式、@page 設定、ページ番号、中国語除去 kyosai_template.html 6 中山間 PDF: A4 横、表形式、@page 設定、ページ番号、中国語除去 chusankan_template.html 7 PDF 生成ロジック: フラットテーブル、null 安全、prefetch_related reports/views.py 8 既存データ再インポート(共済面積修正 + 中山間 17 列埋め) — 9 Playwright E2E テスト 11 件全 PASS verify-fixes.spec.ts 追加発見・修正したバグ 共済 ODS の 本地面積 (m2) カラム名にスペースが含まれ、インポート時に面積が全件 0 になっていた 面積の単位がアール(a)であることが判明。m2 への変換 (×100) を追加 PDF は http://localhost:3000/reports からダウンロードして確認できます。
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from rest_framework import serializers
|
|
from .models import Field, OfficialKyosaiField, OfficialChusankanField
|
|
|
|
|
|
class OfficialKyosaiFieldSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = OfficialKyosaiField
|
|
fields = ['id', 'k_num', 's_num', 'address', 'kanji_name', 'area']
|
|
|
|
|
|
class OfficialChusankanFieldSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = OfficialChusankanField
|
|
fields = ['id', 'c_id', 'chusankan_flag', 'oaza', 'aza', 'chiban', 'branch_num',
|
|
'land_type', 'area', 'planting_area', 'original_crop', 'manager', 'owner',
|
|
'slope', 'base_amount', 'steep_slope_addition', 'smart_agri_addition',
|
|
'payment_amount']
|
|
|
|
|
|
class FieldSerializer(serializers.ModelSerializer):
|
|
kyosai_fields = OfficialKyosaiFieldSerializer(many=True, read_only=True)
|
|
chusankan_fields = OfficialChusankanFieldSerializer(many=True, read_only=True)
|
|
|
|
class Meta:
|
|
model = Field
|
|
fields = ['id', 'name', 'address', 'area_tan', 'area_m2', 'owner_name', 'group_name', 'display_order', 'kyosai_fields', 'chusankan_fields']
|