我想創建視圖與一個表,列出了到用戶已接通/作出任何對象所有改變(創建/修改)。Django的用戶審覈
Django Admin站點具有類似的功能,但只適用於在管理員中創建/更改的對象。
我所有的型號都有,除了其特定的領域,按照一般領域,應該用於此目的:
created_by = models.ForeignKey(User, verbose_name='Created by', related_name='%(class)s_created_items',)
modified_by = models.ForeignKey(User, verbose_name='Updated by', related_name='%(class)s_modified_items', null=True)
created = CreationDateTimeField(_('created'))
modified = ModificationDateTimeField(_('modified'))
我試圖玩弄:
u = User.objects.get(pk=1)
u.myobject1_created_items.all()
u.myobject1_modified_items.all()
u.myobject2_created_items.all()
u.myobject2_modified_items.all()
... # repeat for >20 models
..然後將它們與itertool
's chain()
分組在一起。但是結果並不是一個QuerySet,它使它成爲非Django,並且更難處理。
我知道有packages可用,這將爲我做,但是有可能實現我想要使用上述模型,而不使用外部包?無論如何,必填字段(created_by/modified_by及其時間字段)都在我的數據庫中。
任何想法處理這個最好的方法?