自定义Django ContentType

时间:2014-08-01 10:53:22

标签: django django-models django-admin django-contenttypes

我有一个这样的模型:

class BlockedItem(models.Model):
    name = models.CharField(max_length=244)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')

    def __unicode__(self):
        return self.name
  • 在django admin中,content_type获取所有模型。我可以在content_type中仅提供想要的模型吗?

  • object_id中,有没有办法从列表中选择而不是输入object_id

1 个答案:

答案 0 :(得分:1)

如果您只想要content_type中的某些模型,可以使用

limit_choices = models.Q(app_label = 'myapp', model = 'MyModel') | models.Q(app_label = 'myotherapp', model = 'MyModelOtherModel') )
content_type = models.ForeignKey(ContentType, limit_choices_to = limit_choices )