I have the following situation:
class Professor(models.Model):
default_address = models.OneToOneField('Address')
class Address(models.Model):
name = models.CharField()
street_address = models.CharField()
# ...
professor = models.ForeignKey("Professor", related_name="addresses")
Basically, one Professor can have many Addresses associated with it, but only one default_address selected. However, things aren’t working right when I save things with my view, things don’t get associated just right:
form = forms.ProfileEditForm(request.POST)
if form.is_valid():
address = professor.default_address or models.Address()
address.name = "Default" if address.name == None else address.name
address.street_address = form.cleaned_data['street_address']
address.street_address_2 = form.cleaned_data['street_address_2']
# ...
address.save()
professor.default_addresss = address
professor.save()
After I save it, professor.default_address is None. What am I doing wrong here?
I needed to set
user_profileon both theAddressand thePhoneNumberbefore saving: