1
私は、次の単純な関係があります。私は、シェルで次のようでしたなぜジャンゴは一対一の関係を削除しないのですか?
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はuserprofileのpkを削除し、残りのフィールドには触れません。私は理解していないことは、私は次のような結果を得るために何をすべきである。
user.userprofile.delete()
user.userprofile
...RelatedObjectDoesNotExist: User has no userprofile.
誰もがいくつかのアイデアやコードスニペットを持っていますか?