Django 查询连接两个表
Django query joining two tables
我是 django 的新手。我想在 django 中创建一个查询,我尝试使用 select_related
但我不知道如何插入条件的第二部分:AND model1.qty >= model2.items
我试过:
Model1.objects.select_related('model2).filter(model1.qty__gte=?)
但是它不能正常工作。
下面是我想用 Django 查询集实现的 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)
您使用 F expression 来引用数据库中字段的值。从当前对象到要与之比较的对象的字段之间必须存在关系。
我不清楚这个问题与发布的模型有什么关系,但是 F 表达式可以跟在外键后面所以
Stock.objects.filter( qte_reel__gte = F( 'article__seuil' ))
如果这些字段是您要比较的字段,则可以使用。
我是 django 的新手。我想在 django 中创建一个查询,我尝试使用 select_related
但我不知道如何插入条件的第二部分:AND model1.qty >= model2.items
我试过:
Model1.objects.select_related('model2).filter(model1.qty__gte=?)
但是它不能正常工作。
下面是我想用 Django 查询集实现的 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)
您使用 F expression 来引用数据库中字段的值。从当前对象到要与之比较的对象的字段之间必须存在关系。
我不清楚这个问题与发布的模型有什么关系,但是 F 表达式可以跟在外键后面所以
Stock.objects.filter( qte_reel__gte = F( 'article__seuil' ))
如果这些字段是您要比较的字段,则可以使用。