Log.email ? , ForeignKey () ?
class Log(models.Model):
user = models.ForeignKey(User)
With FK, it becomes quite easy for the user to find what you want:
User.objects.filter(log__level=3)
User.objects.all().anotate(Count('log'))
user.log_set.all()
user.log_set.count()
log.user
If the value of Log.email should not belong to the user, you can try adding a method to the model manager .
class LogManager(models.Manager):
def for_user(self, user):
return super(LobManager, self).get_query_set().filter(email=user.email)
class Log(models.Model):
objects = LogManager()
And then use it like this:
user = User.objects.get(pk=1)
logs_for_user = Log.objects.for_user(user)
source
share