我有一些模型;词汇表(标签列表),标签(标签)和不同的文章类型。动态django表格 - 变量字段
这些文章类型使得一些vocabs,有的没有,如:图像可以用标记从A,B条款并从A或C.
方面的新闻文章然而,这只是存在于数据库水平。
我想要做的是输出字段取决于如果翻译是为内容类型启用与否,就像这样:
确定此内容类型连接到一个词汇。
装入词汇
输出一个CharField或选择每个词汇。
但是我最后一步的努力都失败了,所以我希望有人能指出我的方向。
我不被有关我使用的代码非常明确的道歉,所以在这里它是:
词汇 - 标签
NewsArticle可以使用标签从词汇1,3 博客可以使用词汇表中的标记1,2
此代码获得了为内容类型启用的词汇表:
def get_vocabularies(self, type = None):
vocabularies = {}
object = namedtuple("Vocabulary", "vid name desc help relations hierarchy multiple req tags weight")
if (type != None):
vocabs = VocabularyTypes.objects.filter(type=type)
for vocab in vocabs:
v = Vocabulary.objects.get(pk=vocab.vid)
vocabularies[v.vid] = object(vid = v.vid,
name = v.name,
desc = v.desc,
help = v.help,
relations = v.relations,
hierarchy = v.hierarchy,
multiple = v.multiple,
req = v.req,
tags = v.tags,
weight = v.weight
)
else:
vocabs = Vocabulary.objects.all()
for v in vocabs:
vocab = Vocabulary.objects.get(pk=v.vid)
vocabularies[v.vid] = object(vid = vocab.vid,
name = vocab.name,
desc = vocab.desc,
help = vocab.help,
relations = vocab.relations,
hierarchy = vocab.hierarchy,
multiple = vocab.multiple,
req = vocab.req,
tags = vocab.tags,
weight = vocab.weight
)
return vocabularies
所以代码到目前为止我曾尝试是这样的:
def free_tags(self, type):
vocabs = Label.objects.get_vocabularies(type)
for vid in vocabs.keys():
output = forms.CharField(label=vocabs[vid].name,
required = vocabs[vid].req,
widget = forms.TextInput(attrs={'size' : 64})
)
return output
然而,在视图中使用时它打印出内部蟒标识符(在对象intance ...等)。
然而,另一个问题是,这些领域没有名字,即他们都被称为'输出'。
所以我需要找出的是如何输出多个字段,当字段数量未知。
你可以发布你写的代码到目前为止吗? – Zach