さまざまな属性を持つ人物モデルがあります。Person には、Person/parent モデルの OneToOneField である Address があります。個人の追加/編集で管理フォームに移動すると、line1、line2、mobile などのアドレス属性も編集する必要があります。同様に、管理ページから誰かを削除したいのですが、住所などの一致する参照も削除する必要があります。インラインなど、すでに多くのことを試しました。しかし、アドレスがその人と外部キーを持っている場合にのみインラインが機能したと思いますが、逆は不可能でした。これに関するあらゆる種類の助けをいただければ幸いです...
class Person(models.Model):
person_Id = models.CharField(max_length=32L, primary_key=True, db_column='PERSON_ID', editable=False)
business_Address = models.OneToOneField(Address, unique=True, db_column='BUSINESS_ADDRESS_ID')
class Meta:
db_table = 'PD_PERSON'
class Address(models.Model):
# Field names made lowercase.
address_id = models.IntegerField(primary_key=True, db_column='ADDRESS_ID')
address_name = models.CharField(max_length=256L, db_column='NAME', blank=True)
line1 = models.CharField(max_length=128L, db_column='LINE1', blank=True)
class Meta:
db_table = 'PD_ADDRESS'
admin.py で ~
class PersonInline(admin.TabularInline):
model = Person
class PersonAdmin(admin.ModelAdmin):
list_display = ('customer_Id', 'complete_Name', 'company')
search_fields = ('name', 'customer_Id', 'email_Id')
class AddressAdmin(admin.ModelAdmin):
inlines = [ PersonInline, ]
admin.site.register(Address, AddressAdmin)
#admin.site.register(Category)
#admin.site.register(Languages)
admin.site.register(Person, PersonAdmin)