可能重复:
我在研究django。在我的项目中,我在查询django ORM时遇到了困难:
SELECT MIN( id ) AS id, domain, COUNT( * ) AS cnt
FROM app_competition
WHERE word_id = 1545
GROUP BY domain
请帮我做这个查询
让我们假设我有以下模型:
class Position(models.Model):
name = models.CharField()
class PositionStats(models.Model):
position = models.ForeignKey(Position)
averageYards = models.CharField()
averageCatches = models.CharField()
class PlayerStats(models.Model):
player = models.ForeignKey(Playe
我一直在谷歌上搜索,但我似乎不明白。
如何在django中重新创建简单的联接查询?
在models.py (Fylker是县,Dagensrepresentanter是人)
class Fylker(models.Model):
id = models.CharField(max_length=6, primary_key=True)
navn = models.CharField(max_length=300)
def __unicode__(self):
return self.navn
class Meta:
db_tabl
我需要使用Django ORM构建一个查询,这个查询在SQL中是这样的:
select * from A where id not in (select a_id from B where ... )
我试着使用这样的代码:
ids = B.objects.filter(...)
a_objects = A.object.exclude(id__in=Subquery(ids.values('a__id'))).all()
问题是,与嵌套的select Django不同,Django生成的查询类似于
select * from A where id not in (1, 2,
假设我有三个模特:
from django.db import models
class X(models.Model):
y = models.ForeignKey(Y, on_delete=models.PROTECT)
z = models.ForeignKey(Z, on_delete=models.PROTECT)
a = models.DecimalField(...)
b = models.DecimalField(...)
...some fields...
class Y(models.Model):
...some
我使用的是MySQL,我有两个模式,我必须在多个模式()上执行一个连接,正如您可能知道的那样,在Django ORM中不支持。
因此,对于此场景,这是最简化的SQL查询。
SELECT * FROM db1.a AS a
JOIN db2.b AS b
ON b.some_id = a.id
WHERE a.name = 'localhost'
DJANGO ORM
现在,如果我使用Django ORM,我将不得不这样做
a_obj = ModelA.objects.filter(name='localhost')
ModelB.objects.filter(
我是新来的django orm。我的桌子看起来像这样。
class Product(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
name = models.CharField(max_length=60)
class ProductOption(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
product_id = models.ForeignKey(Produ
因此,我试图运行一个查询,但无法使它正常工作。我已经成功地编写了一个SQL查询,它完成了我正在寻找的任务,但是我很难将它移到Django ORM中。
作为一个sidenote:即使SQL查询完成了我正在寻找的内容,我也不确定它是否是创建这样一个查询的最佳方法。因此,为了完整起见,我将重新创建类似的情况,所以请告诉我是否有更好的方法来创建这样的SQL查询(然后可能是将其转换为Django ORM代码的更容易的方法)。
想象一个非常简单的电影数据库:
class ReleaseType(models.Model):
name = models.CharField(max_length=25
我刚接触过理论和Symfony,在创建实体的过程中遇到了一段非常困难的时期。
运行以下命令时:
php app/console doctrine:generate:entities Foo/FooBundle/Entity/Company
我得到了以下错误:
`[Doctrine\ORM\Mapping\MappingException]
Class "Foo\FooBundle\Entity\Company" is not a valid entity or mapped super class.`
实体/company.php
namespace Foo\Foo
模型中有多个列。我附上一张截图:
我只能搜索IP地址,但我也想在部门和地点搜索。如果知道如何解决这个问题,下面是我的admin.py如下所示:
from django.contrib import admin
from pages.models import Post, Device, DeviceType, DeviceModel, Ipaddress, DeviceGroup, Location,Department,Comment
from django_admin_listfilter_dropdown.filters import DropdownFilter, Related
设置:
Django 1.1.2,MySQL 5.1
问题:
Blob.objects.filter(foo = foo) \
.filter(status = Blob.PLEASE_DELETE) \
.delete()
这段代码导致ORM首先生成一个SELECT * from xxx_blob where ...查询,然后执行一个DELETE from xxx_blob where id in (BLAH);,其中BLAH是一个非常长的id列表。
这是有原因的吗?我不明白为什么ORM不能将上面的代码片段转换为一个删除查询。有没有一种方法可以
我开始在@Entity文档中用简单的注解在silex中使用原理,并且它起作用了。现在我看到symfony使用了导入use Doctrine\ORM\Mapping as ORM;和@ORM\Entity。但是当我添加这段代码时,doctrine抛出了一个错误Class "App\Entity\Author" is not a valid entity or mapped super class.
namespace App\Entity;
use App\Helpers\Jsonable;
use App\Helpers\MassAssignable;
use Doctrin
我不得不编写Django ORM查询,以获得以下查询的模拟:
vendors = Vendors.objects.select_related('legal_entities') #....and then I want to also get legal_entities_details
我的模特:
class LegalEntitiesDetails(models.Model):
legal_entities = models.ForeignKey(LegalEntities, models.CASCADE)
class LegalEntitie
我使用两个DQL查询。在我的网站上,我有用户和组织。我在User上定义了一个ManyToMany关系,如下所示: /**
* Many User have Many Phonenumbers.
* @ManyToMany(targetEntity="Formation")
* @JoinTable(name="users_favorites",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id"