如何知道用户创建每个对象而不使用django中的日志记录LOGGER?

时间:2017-01-18 12:38:36

标签: django django-models

现在我有5个模型,我想要检索由用户创建的特定对象过滤的对象

models.py

例如这个模型

class Personinfo(models.Model):
    name = models.CharField(max_length=128)

    def __str__(self):
        return self.name





class Person(models.Model):
    person = models.ForeignKey(Personinfo)
    address = models.TextField()
    phone_number = models.CharField(max_length=128)
    hobbies =models.CharField(max_length=128)

    def __str__(self):
        return self.person

现在我有一个class FileCategory(models.Model): file_type = models.CharField(_('type'), max_length=128) def __unicode__(self): return self.file_type 等于ABC,ENB,ORJ的对象 我只想列出请求用户只创建的file_types。它可行吗?
当然我知道我可以将用户属性file_type添加到用户模型

1 个答案:

答案 0 :(得分:1)

我想使用LogEntry模型

from django.contrib.admin.models import LogEntry
file_category = ContentType.objects.get_for_model(FileCategory)
logs = LogEntry.objects.filter(content_type=file_category,
                               user__username=request.user.username
                               ).values('object_repr')

FileCategory.objects.filter(name__in=logs)