Скажем, я использую по умолчанию auth.models.User
плюс мой обычай Profile
и Address
модели, которые выглядят так:Модели Django с отношениями OneToOne?
class Profile(models.Model):
user = models.OneToOneField(User)
primary_phone = models.CharField(max_length=20)
address = models.ForeignKey("Address")
class Address(models.Model):
country = CountryField(default='CA')
province = CAProvinceField(default='BC')
city = models.CharField(max_length=80)
postal_code = models.CharField(max_length=6)
street1 = models.CharField(max_length=80)
street2 = models.CharField(max_length=80, blank=True, null=True)
street3 = models.CharField(max_length=80, blank=True, null=True)
Теперь я хочу, чтобы создать регистрационную форму. Я мог бы создать ModelForm
на основе User
, но это не будет включать поля для Profile
и Address
(что необходимо). Итак, что лучший способ построить эту форму? Должен ли я вообще использовать ModelForm
?
Кроме того, как бы я использовал ту же форму для редактирования сложного объекта? Я мог бы легко передать экземпляр профиля обратно к нему, который содержит ссылки на необходимые объекты Address и Profile, но как я могу его заполнить для меня полями?
@Mark В вашем примере вы указали «Адрес» перед его созданием. Вам нужно будет обернуть его в кавычки, чтобы сделать это, или переместить «Профиль» ниже «Адрес», если вы не хотите использовать кавычки. – orokusaki
@orokusaki: Я думаю, что вставил те из двух разных мест, или я бы ошибся. Не знал, что я могу просто использовать цитаты. Благодарю. – mpen