我有点担心我应该如何建模。
我有一个名为Location的模型。在这个模型中,我有邮政编码,城市,地区,经度和纬度。这些数据预先填充了加拿大的所有资料。你可以想象这张桌子非常大。
我想创建一个名为Item的第二个模型。这些项目中的每一项都需要与上述模型中的位置相关联。用户故事如下:
用户添加项目:我已根据我设置的Cookie知道他们的邮政编码和城市 用户使用其项目提交表单:这是我对如何建模此数据以使项目保存在正确的位置感到困惑的地方。
我认为FK是可行的方式,但由于一些显而易见的原因(大量列表,并且需要用户输入,但我在保存之前已经知道它们的位置),这可能是低效率的。那么,既然我已经根据他们的cookie知道了他们的位置,那么应该在名为location的Item模型中创建一个新字段,并将邮政编码保存在这个模型中?如果我这样做,我想我将不得不查询该位置的位置模型以获取适当的信息。我不确定这是最好的,请帮助。
答案 0 :(得分:0)
如果您已经知道用户的位置,并且他们只是输入一个项目,那么Item模型应该有一个Location键的外键,但是您不会在表单上提示它。而是在保存项目之前填写位置。
如果您正在使用ModelForm,那么您将要排除您的位置字段,以便不显示它。您还需要设置commit=False
,以便在将表单数据保存到Item表之前自己填写位置。