【发布时间】:2018-07-20 03:20:02
【问题描述】:
我有 2 个模型,分别命名为:PaymentMode 和 Store as:
PaymentMode 模型:(id 将由 django 自动生成)
id = model.IntegerField(primarykey)
name = model.CharField("eg: cash, debit, credit")
商店模型:(id 将由 django 自动生成)
id = model.IntegerField(primarykey)
payment_mode = model.ForeignKey(Paymentmode, on_delete=model.cascade)
mode_credit_value = model.IntegerField(default=0)
name = model.CharField()
... some other fields
所以我想要的是每当创建商店时,所有支付模式都会自动继承,继承所有外键,这将在商店表中创建多行:(如果添加了 id 为 1 的商店,则 1 为 3 行,类似地其他)
store_id | payment_mode | name
------------------------------
1 1 abcd
1 2 abcd
1 3 abcd
... similarly if store id 2 is passed, all master are inherited
2 1 xyz
2 2 xyz
2 3 xyz
我查看了各种 stackoverflow 问题,可能这可能是重复的,但这些都覆盖了保存功能并只生成一个继承对象,例如:
Stackoverflow question
所以问题是上述问题中的保存函数覆盖方法会继承所有外键吗?还是只会做一个?
显然,支付模式将首先被创建。另外,将来如果添加付款方式,是否可以自动为所有现有商店添加新的付款方式?
可能我创建模型的方法是错误的。
【问题讨论】:
标签: django django-models