假设我有一个大约10 ManyToManyFields的模型。是否可以使用一个查询来查询模型的所有字段?如果没有,如何获得尽可能少的db查询的字段(我正在使用django ORM)。
class MyModel(models.Model):
name = models.CharField(max_length=200)
relation_1 = models.ManyToManyField('app1.model_1')
relation_2 = models.ManyToManyField('app1.model_2')
r
假设我们的Django应用程序中有两个模型:
class Author(models.Model):
name = models.CharField()
class Book(models.Model):
name = models.CharField()
通常,对于多对多字段,我会创建一个中间表,然后查询:
class BookAuthor(models.Model):
book = models.ForeignKey(Book)
author = models.ForeignKey(Author)
从那时起,我可以简单地通过book或author查询Boo
我是django网络开发的新手。我遇到了一个错误,我试图在admin url - so localhost:8080/admin下更改一个'post‘。我能够成功地创建它,但是当我尝试点击刚才添加的帖子时。我得到了一个错误:
异常类型: DatabaseError异常值:数据库不支持此查询。
这就是我所知道的“扰乱”这个查询的代码:
#Post is an abstract class
class BlogPost(Post):
...
translators = models.ManyToManyField(Staff, related_name=
class Author(models.Model):
name = models.CharField(max_length=50)
class Chapter(models.Model):
book = models.ForeignKey(Album, on_delete=models.CASCADE)
author = models.ManyToManyField("Author")
class Book(models.Model):
author = models.ManyToManyField("Author")
我可
如何在Django模板中查询多个任意字段?
例如,这条if语句不能工作(我知道我不能在Django模板中调用带参数的函数),但这显示了我想要做的事情:
template.html
{% for post in posts %}
{% if post.likes.filter(user=user) %}
You like this post
{% else %}
<a>Click here to like this post</a>
{% endif %}
{% endfor %}
models.py
class U
我对Django相当陌生,并且坚持在Django中创建一个左联接。我试了很多次,但似乎都没有用:
我要翻译给Django的查询是:
select ssc.id
,mgz.Title
,tli.id
,tli.Time
from Subscription ssc
join Person prs
on ssc.PersonID = prs.id
and prs.id = 3
join Magazine mgz
on mgz.id = ssc.MagazineID
and mgz.from <= date.today()
and mg
我一直在使用django debug_toolbar进行调试,如果我在查询中使用了多个注释,那么Django需要很长时间才能获取查询结果。
class Project_First(models.Model):
project_first_results_M2M = models.ManyToManyField(Project_First_Results)
class Project_Second(models.Model):
project_second_results_M2M = models.ManyToManyField(Project_Second_Results)
c
我有一个django-filter FilterSet,它接受用户保存的链接的查询集。Tags是一个ManyToManyField,我想将选择范围缩小到由同一用户创建(拥有)的标签。完全不知所措--文档并没有那么多。
class LinkFilter(django_filters.FilterSet):
class Meta:
model = Link
fields = ['title', 'domain', 'tags', 'date', 'modified']
models.py
from django.db import models
class UserGroup(models.Model):
members = models.ManyToManyField(User, related_name='members', through='UserGroupMember')
class UserGroupMember(models.Model):
user = models.ForeignKey(User)
usergroup = models.ForeignKey(UserGroup)
我有一个模型MyModel2,它的ManyToManyField与另一个模型MyModel1相关。
如何获取mymodel1.id, mymodel2.id对,如Django为此关系创建的表中所示?我是否必须对该表执行原始SQL查询,或者是否可以通过该模型的对象管理器进行查询?
class MyModel1(models.Model):
name = models.CharField(max_length=50)
class MyModel2(models.Model):
name = models.CharField(max_length=50)
mymode
我在Django应用程序中设置了以下模型
class School(models.Model):
name = models.TextField()
class Courses(models.Model):
name = models.TextField()
schools = ManyToManyField(School)
我可以使用什么查询?
谢谢
在Django中是否可以对属性装饰器使用急切的加载?
我的代码作为示例
class Player(models.Model):
roles = models.ManyToManyField(Role, related_name='players')
@property
def role(self):
return ", ".join([r.name for r in self.roles.all().order_by('name')])
当使用属性输出player角色时,它每次运行一个查询。
实际上,我
我有一个models.py文件,如下所示:
from django.db import models
from common.models import Record
from tinymce import models as tinymce_models
# Create your models here.
class Address(Record):
def __unicode__(self):
return unicode(self.ip)
ip = models.IPAddressField(unique=True)
notes = mode
我正在尝试在Django查询中构建一个额外的字段,以指定一篇文章是否属于Journal。
我试着做一些像Article.objects.filter(title__icontains='foo').extra(select={in_the_journal:Function_Belongs_To_Journal(journal_id)})这样的事情
我目前正在迭代搜索结果,以找到它,但我更愿意从数据库中检索这些信息。
我的models.py如下:
class Article(models.Model):
title = models.CharF
我正在使用django构建我的应用程序,但是我在models.py文件中得到了这个错误:
creator = models.ManyToManyField(Teacher, on_delete=models.CASCADE)
NameError: name 'Teacher' is not defined
这是我在models.py中的当前代码:
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class School(mod
我在Django中有以下模型模式(使用Postgres)。
class A(Models.model):
related = models.ManyToManyField("self", null=True)
给定QuerySet为A,我希望尽快返回一个字典,将QuerySet中的每个A实例映射到它的related实例的id列表。
我当然可以遍历每个A并查询相关字段,但是有没有更好的方法呢?
我在Django中创建了许多到多个递归关系。如何查询下面代码中的递归字段子文件夹。给出一个文件夹列表,它的所有子文件夹?
class Folder(models.Model):
"""Folder Model, can contain many folders and many files"""
name = models.CharField(max_length=64)
subfolders = models.ManyToManyField('Folder', blank=True)
我有以下Django 1.2模型:
class Category(models.Model):
name = models.CharField(max_length=255)
class Article(models.Model):
title = models.CharField(max_length=10, unique=True)
categories = models.ManyToManyField(Category)
class Preference(models.Model):
title = models.CharField(max_lengt
我试图从另一个应用程序中导入一个模型,但是它会抛出一个错误。
from django.db import models
from ..book.models import Book
class Cart:
books = models.ManyToManyField(Book)
错误:
ValueError: attempted relative import beyond top-level package
但如果我这么做了
from django.db import models
from book.models import Book
class Cart:
我需要一个简单的控制什么产品显示在哪个网站,因为有很多产品,我也想通过类别,生产者和标签设置产品网站。因此,如果产品OR (其类别、生产者及其标签之一)链接到网站,我将在网站上显示产品。我最后得到的代码如下(简化):
from django.db.models import Model, ManyToManyField, ForeignKey, BooleanField
class Site(Model):
enabled = BooleanField()
class Producer(Model):
sites = ManyToManyField(Site)
class
当获取包含关系的模型时,我如何知道Django是否运行多个查询?
下面是一个示例:
class ModelOne(models.Model):
'''...the stuff...'''
class ModelTwo(models.Model):
something = models.ForeignKeyField(ModelOne)
'''...all the things...'''
class ModelThree(models.Model):
some
我发现每次加载模型的管理页面时,MySQL DB都会变得没有响应。我调查并发现查询Model.objects.all()运行了无数次,我认为存在一些问题,因为django缓存不起作用,但是我通过在django still上运行查询来验证缓存部分。我仍然迷路了,我有类似于以下代码:
class Car(models.Model):
name = models.CharField(max_length=150, db_index=true)
class Accessories(models.Model):
name = models.CharField(max_length=12
django中有通过查询集或ids列表过滤多到多关系对象的方法吗?获取多到多值完全相同的查询。模型
class Parent(models.Model):
name = models.CharField(max_length=1000)
children = models.ManyToManyField(Child, blank=True)
视图
def filter_parents(request):
children = Child.objects.filter(id__in=[1,2,3])
parents = Parent.objects.filter(