0
我想從ContentType實例獲取對象的查詢集,然後能夠過濾它們。從文檔,就可以get()
使用對象:django:如何從ContentType實例獲取對象
ct.get_object_for_this_type(**kwargs)
我怎樣才能使該實例類似filter()
?
我想從ContentType實例獲取對象的查詢集,然後能夠過濾它們。從文檔,就可以get()
使用對象:django:如何從ContentType實例獲取對象
ct.get_object_for_this_type(**kwargs)
我怎樣才能使該實例類似filter()
?
既然你將contentType比如,你可以做ct.model_class()
獲得模型類,然後使用它,你通常會。
model_class = ct.model_class()
model_class.objects.filter(**kwargs)
由於ContentType model有三個字段app_label
,model
和name
。所以你可以很容易地過濾這些字段。
notifications = Notification.objects.filter(content_type__model='Comment', object_id=1)
實例模型:
class Notification(models.Model):
content_type = models.ForeignKey(ContentType, related_name='notifications', on_delete=models.CASCADE)
object_id = models.PositiveIntegerField(_('Object id'))
content_object = GenericForeignKey('content_type', 'object_id')
....