我正在为一家自行车商店编写应用程序。我需要能够为Repairs分配许多Transaction(即固定维修)。每个维修都有名称,说明和价格。每个事务都有一个repairs字段。对于Transaction,我有

repairs = models.ManyToManyField(Repair, blank=True)


这是合乎逻辑的。但是,将进行40多种不同的维修。当我向事务添加修复时,我不想每次创建新事务并向其中添加修复时都必须创建Repair的新实例-我只想拥有一个指向该事务的指针具体维修。换句话说,Repair充当可能维修的列表,并提供价格和说明,并且Transaction具有指向这些维修列表的字段。此外,我在Transaction中的字段必须能够指定每个修复是否已经完成。

对于Item指向的Transaction(即管),我需要做同样的事情。

我不确定如何在Django中执行此操作。我可能想得太多,或者我的数据库设计可能很差。

最佳答案

这听起来像是一个合理的设计,并且内置的ManyToManyField是该架构的不错选择。

在用户界面方面,如果您使用Django表单模块来构建表单并接收和验证数据,我建议MultipleChoiceField可能是最好的选择Repair对象。与Transaction关联。 (https://docs.djangoproject.com/en/dev/ref/forms/fields/#multiplechoicefield)。在这种情况下,您可以采用Repair方法的形式过滤事务的可用__init__

关于python - 使用ManyToManyField时如何从数据库中适当选择条目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42499415/

10-10 07:50