我需要在Django中使用ORM,但是如何制作它。
SELECT
table_1.id,
(SELECT COALESCE(SUM(qty_1), 0) FROM table_2 WHERE table_2.fk = table_1.id AND date BETWEEN start_date AND end_date),
(SELECT COALESCE(SUM(qty_2), 0) FROM table_2 WHERE table_2.fk = table_1.id AND date BETWEEN start_date AND end_date),
(SELECT COALESCE(SUM(qty_3), 0) FROM table_2 WHERE table_2.fk = table_1.id AND date BETWEEN start_date AND end_date)
FROM
table_1
任何建议都将不胜感激。
Plz帮助我,我试着在这里找到这个问题而没有任何运气。
答案 0 :(得分:0)
有人可以展示这种多对多关系的直接方式。我通常单独构建该联结对象。所以我会做这样的事情:
class Options(...):
name = models.CharField(...)
...
class Question(...):
question = models.CharField(...)
type = ...
...
class QuestionResponseRegistry(...):
question = models.ForeignKey(Question)
option = models.ForeignKey(Option)
value = ...
所以基本上你构建自己的联结对象。在别人叫我和你出去之前,我不妨指出明显的事实。不正确地使用django我们都是不同程度的。 django的ORM的全部功能是抽象高于映射到不同的SQL操作。我提出了一种通过直接构建联结对象来链接联结对象的方法,但这样做在某种程度上不仅仅是使用many-to-many or one-to-many relationships构建更好的数据模型。