고객을 정의 할 수있는 다음 모델이 있습니다. 나는 주소와 '사람'필드를 분리 된 모델로 분리하는 재사용을 생각했다. 고객에는 주소가있는 사람이 포함되어 있으므로 고객을 위해 CreateView를 작성하려면 어떻게해야합니까? inline_formset과 같은 것을 사용하여 원하는 것을 성취하는 방법을 잘 이해하지 못합니다.모델의 장고 양식
models.py : 당신은 아마 look at using an inline formset 싶지는 매우 정직하고
주소 필드에서import localflavor.us.models as us_models
from django.db import models
from datetime import date
class Address(models.Model):
address1 = models.CharField(max_length=100)
house_number = models.CharField(max_length=10, blank=True)
address2 = models.CharField(max_length=100, blank=True)
city = models.CharField(max_length=50)
state = us_models.USStateField()
zip = models.CharField(max_length=5)
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
creation_date = models.DateTimeField('date created')
home_phone = us_models.PhoneNumberField()
work_phone = us_models.PhoneNumberField(blank=True)
cell_phone = us_models.PhoneNumberField(blank=True)
email = models.EmailField(blank=True)
address = models.OneToOneField(Address, primary_key=True)
class Customer(models.Model):
person = models.OneToOneField(Person, primary_key=True, default=None)
creation_date = models.DateTimeField('date created', auto_now_add=True)
자세한 답변을 보내 주셔서 감사합니다. 고객에게 매우 좋은 점은 사람입니다. 나는 유스 케이스에 더 적합한 추상 경로를 사용했다. 나는 아직도 HAS A 관계에 대한 양식을 만드는 방법을 알지 못한다. 고객은이 경우 주소를 가지고있다. 당신이 제공 한 링크는 inlineformset_factory (Address, Customer)를 사용하고 뷰 내에서 그 Set과 동일한 형태를 사용한다고 말했습니다. 이제 양식은 Person의 모든 필드를 표시하지만 Address의 모든 필드를 표시하는 대신 선택할 대상 드롭 다운 목록으로 주소 만 갖습니다. – postelrich