如何从应用程序外部导入变量列表作为charfield的选项?

时间:2017-01-25 01:38:36

标签: python django models

我正在尝试在管理员中创建一个选择框,在当前应用程序之外显示数据库中的对象列表。这是我的模特

from typefaces.models import Typeface

class Word(models.Model):
    text = models.CharField(max_length=200)
    family_select = models.CharField(max_length=100, choices=Typeface.objects.all)

不幸的是,Django告诉我'choices' must be an iterable (e.g., a list or tuple).但是我试图用iter()进行迭代却没有成功。

1 个答案:

答案 0 :(得分:1)

这是一种完全错误的方法。应使用OneToOneFields,ForeignKeys(一对多字段)和ManyToManyFields指定模型之间的关系。您应该将CharField更改为:

family = models.ForeginKey(Typeface, related_name='words')

如果您有特殊原因不使用普遍接受的方式,请进一步详细说明,以获得答案。