动态地将选项附加到Django模型中的选项列表中

时间:2014-10-04 04:17:34

标签: python mysql django

我想从我的django模型中的列表中选择选项。但是列表中的选项填充在post_save()方法中。情况如下:

  • 我在table1中输入了一些属性,根据这些属性,使用post_save()方法中的不同算法计算表的其他属性的值。

  • 现在我希望不同算法的这些值在第一次保存后显示为table1的属性选择(设置为空白或某些默认值)。

  • 作为选择,只有不同的值应该有约束,而选择列表应该只包含那些使用表格的这个元组/行的属性计算的值。

  • 我尝试使用choice选项并将diff algos中的值附加到列表中,但这会产生两个问题:

    • 如果我保存两个条目,则列表包含使用两个条目的属性计算的值(需要过滤)

    • 如果我保存两次条目,则重复的条目会附加到列表中。

外键也可以是一个选项,但如何根据生成它的元组过滤外键。

我试图解释这个问题,我觉得代码不是必需的。评论是否需要有关问题的任何细节。

1 个答案:

答案 0 :(得分:1)

我认为您选择的类型字段不正确。基本上CharField的选择功能有限,你不能用它来做,你只能过滤你最初宣布的选择,但你不能动态添加新的选择(你会看到它们,但它们不会通过现场验证)。我认为你应该在没有这些限制的情况下使用ForeignKey。您可以在没有ptoblems的情况下动态构建它。我不能在没有看到某些代码的情况下告诉你这些问题。