gpt4 book ai didi

Django - 需要重复字段时的模型最佳实践

转载 作者:行者123 更新时间:2023-12-02 05:12:43 24 4
gpt4 key购买 nike

我有一个模型,其中某些字段可以针对同一对象重复 0 到 5 次。

models.py:

class FusionTableLayer(models.Model):
layer_name = models.SlugField(max_length=50)
condition1 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
condition2 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
condition3 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
condition4 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
condition5 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option1 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option2 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option3 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option4 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option5 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option6 = models.CharField('SQL Query Conditions', max_length=100, blank=True)
...etc

我的问题是用可以复制的字段创建第二个模型并使用 ForeignKey 链接它们更好吗?

models.py:

class EzApp(models.Model):
layer_name = models.SlugField(max_length=50)



class EzAppOptions(models.Model):
app = models.ForeignKey(EzApp)
condition = models.CharField('SQL Query Conditions', max_length=100, blank=True)
option = models.CharField('SQL Query Conditions', max_length=100, blank=True

我知道它看起来像这样整洁,但我发现调整表单、 View 和模板以与具有 ForeignKey 关系的第二个模型一起工作更加复杂。例如,我必须在同一 View 中管理两个不同的表单集。在这种情况下,最佳做法是什么?

最佳答案

看看ForeignKeyinline formsets用于处理此类情况。

关于Django - 需要重复字段时的模型最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15166828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com