1対1リバースルックアップのヘルプが必要です。私のモデル:django 1対1リバースルックアップオーバーライド
class User(MarkedAsDeletedMixin):
fields here
class UserProfile(MarkedAsDeletedMixin):
user = models.OneToOneField(User)
class MarkedAsDeletedMixin(models.Model):
marked_as_deleted = models.BooleanField(default=False)
class Meta:
abstract = True
def delete(self, *args, **kwargs):
self.marked_as_deleted = True
self.save()
あなたが削除されたものとして、私はsomeuser.userprofile.delete()
私はUSERPROFILEオブジェクトをマークしないとき、私はそうdelete
メソッドをオーバーライドしています見ることができます。
私がsomeuser.userprofile
の後に問題が発生します。 userprofileを削除しなかったので、私はuserprofileを取得しました。私はそれを削除済みとしてマークしました。
削除済みとマークされていないuserprofileオブジェクトだけを取得するには、User
の1対1逆引き参照を上書きするか、UserProfileのマネージャで何かを行う必要があります。何か案は?