Need help with one to one reverse lookup. My models:
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()
You can see I'm overriding the delete
method so when I do someuser.userprofile.delete()
I just mark the userprofile object as deleted.
The problem comes when I do someuser.userprofile
after. I get userprofile, because I didn't delete the userprofile, I just marked it as deleted.
In order to get only userprofile objects not marked as deleted, I need to override User
's one to one reverse lookup or do something with UserProfile's manager. Any ideas?