我是新来的django。我想在尝试使用select_related
的django中创建查询,但是我不知道如何插入条件的第二部分:AND model1.qty >= model2.items
我尝试过:
Model1.objects.select_related('model2).filter(model1.qty__gte=?)
但是它不能正常工作。
下面是我要使用Django queryset实现的SQL查询:
SELECT model1.name,model2.name WHERE model1.id=model2.model1.id AND model1.qty >= model2.items
我的模特:
class Article(models.Model):
date_crea = models.DateTimeField('Créer le', auto_now_add=True)
designation = models.TextField('designation', max_length=500)
seuil = models.IntegerField('Seuil d\'alerte')
class Stock(models.Model):
date_crea = models.DateTimeField('Créer le', auto_now_add=True)
article = models.ForeignKey(Article, on_delete=models.CASCADE)
qte_reel = models.IntegerField('stock reel',default=0)
答案 0 :(得分:0)
您使用F expression来引用数据库中字段的值。从当前对象到要比较的对象上的字段之间必须存在关系。
我不清楚问题与发布的模型之间的关系,但是F表达式可以跟随外键,所以
Stock.objects.filter( qte_reel__gte = F( 'article__seuil' ))
将可以工作,如果这些字段是您要比较的字段。