У меня есть следующие простые отношения:Почему django не удаляет отношения один к одному?
class User(models.Model):
fields here
class UserProfile(models.Model):
user = models.OneToOneField(User)
я сделал следующее в оболочке:
user = User.objects.create(...)
profile = UserProfile.objects.create(user=user)
user.userprofile
...<UserProfile: UserProfile object>
user.userprofile.delete()
...(1, {'accounts.UserProfile': 1})
user.userprofile
...<UserProfile: UserProfile object>
Из вышесказанного можно видеть, что я создаю пользователя и Userprofile экземпляров. Чем я пытаюсь удалить экземпляр UserProfile и он удаляется (по крайней мере, похоже). Чем я делаю user.userprofile
, и он как будто никогда не был удален.
После небольшого перекопа в метод удаления Django я понял, что когда я делаю user.userprofile.delete()
Django просто удаляет pk userprofile, а остальные поля не затрагиваются. То, что я не понимаю, что я должен сделать, чтобы получить следующий результат:
user.userprofile.delete()
user.userprofile
...RelatedObjectDoesNotExist: User has no userprofile.
Кто-нибудь есть какие-то идеи или фрагменты кода?