自定义Django内容类型
我有一个这样的模型:自定义Django内容类型,django,django-models,django-admin,django-contenttypes,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', 'ob
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\u type
内容类型的想要的型号吗
- 在
中,有没有办法从列表中选择而不是输入object\u id
object\u id
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 )
非常感谢,但是“对象id”呢?我想我必须使用javascript来收集所选对象的项。我是对的吗?我认为一个解决方案可以(不确定它是否更好)覆盖对象的管理表单,以获得具有所需值的预填充ChoiceFields。当您更改内容类型时,您需要一些javascript从一个ChoiceField切换到另一个ChoiceField,只需检查模型是否以小写字母开头,比如mymodel而不是mymodel