我有一个这样的模型:
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
?
答案 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 )