我正在尝试在Django模型中创建一对多关系。我想实现它,如下图所示。
下面是我的代码:
class Book(models.Model):
book_id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=255)
isbn = models.CharField(max_length=255)
class Author(models.Model):
id = models.IntegerField(primary_key=True)
name = mo
假设我在Django中有以下多对一关系:
from django.db import models
class Person(models.Model):
# ...
class Address(models.Model):
# ...
person = models.ForeignKey(Person, on_delete=models.CASCADE)
这允许一个人拥有多个地址。
我希望强制规定一个人至少有一个地址,这样就不可能在DB中拯救一个没有地址的人。
我如何才能实现这个目标?是否可以将相关字段设置为必填字段(就像使用blank=False对“普通”字段所
我已经在我的项目中创建了这个模型
from django.contrib.auth.models import User
from django.contrib.auth.models import Group
from django.db import models
from quiz.models import Quiz
# Create your models here.
class Organisation(models.Model):
name = models.CharField(max_length=255)
user = models.ForeignKey(U
我不明白为什么我们必须使用ManyToManyField来声明多对多关联。为此,我将创建另一个具有两个外键的表,句号!下面是文档中的一个示例
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through=
我刚刚开始使用Django,我想知道处理以下数据的最好方法。我有DataSets,它由许多我想要绘制的x,y坐标对组成。据我所知,Django在它的模型中不直接支持数字数组,那么处理这些数组的最好方法是什么?现在我能想到的就是下面这样的东西:
class DataSet(models.Model):
set_name = models.CharField(max_length=100)
class DataPoint(models.Model):
x = models.FloatField()
y = models.FloatField()
dataset =
我必须创建一个注册应用程序使用Django。将有两个模型:事件,由事件名称和费用组成;参与者,由参与者详细信息和他们参与的事件组成。一个参与者可能参与了多个事件。在保存对象时,我不希望同一参与者的不同事件有多个条目。我认为这意味着使用一对多关系字段,这是我在Django中找不到的。我尝试的模式是
class Event(models.Model):
name = models.CharField(max_limit=50)
fees = models.IntegerField(default=100)
class Participant (models.Model):
我的models.py:
from django.db import models
from django.contrib.auth.models import User
class SkillCategory(models.Model):
title = models.CharField(max_length=255)
def __unicode__(self):
return self.title
class Meta:
verbose_name_plural = "Skill Categories"
cl
我曾在django 2.X公司工作过,但我将在我的新项目中使用django3.x。在version2,我应该做外部连接。我使用prefetch_related并过滤了prefetch_related的模型。
在第2版中,如果我使用prefetch_related,就会将其作为单个查询进行查询。但是在第3版中,被多个查询所查询。
如果我只使用连接目标的Q()而不使用prefetch_related,那么它在版本3中可以执行单个查询。
from django.db import models
from django.db.models import Q
from django.db.models
例如,在Django 1.8:
class A(models.Model):
x = models.BooleanField(default=True)
class B(models.Model):
y = models.ManyToManyField(A)
class C(models.Model):
z = models.ForeignKey(A)
在这种情况下,C.objects.all().prefetch_related('z__b_set')不能工作。
是否有一种方法可以预取c[0].z.b_set.all()工作所需的信息而不需要额外的
我是web开发的新手,我已经使用Django创建了一个示例项目。到目前为止,我有一个Django驱动的页面,它显示了我的数据库的一个模型对象的内容,这个模型对象被称为Publications。我的视图模板中的代码是:
<html><head><title>Publications</title></head>
<body>
<h1>Publications</h1>
<ul>
{% for publication in publication_list %}
<li>{{ p
在django中,我需要在单个查询中选择用户和组。
user = User.objects.select_related('groups').get(id=user_id)
我不想为此使用原始查询。
还有另一种方法可以实现这一点,即进行两个查询:
user = User.objects.get(id=user_id)
groups = user.groups
以下是我的简化模型:
from django.contrib.contenttypes.fields import (
GenericForeignKey, GenericRelation)
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Thing(models.Model):
'''
Our 'Thing' class
with a link (generic relationshi
因此,我试图制作一个网络应用,它的目的是帮助学生和老师之间的互动。
但是,我需要知道如何构造Django中的关系模型。这里有两件事你应该知道:
教师可以有许多学生(使用者)在他或她的手下。
一个学生只能有一个用户作为他的老师。
换句话说,教师应该有尽可能多的学生,而每个学生只能有一个老师。
我该如何用Django来表达这一点呢?处理这种关系的最好方法是什么?对于后一个问题,我正在考虑创建一个类似于以下内容的类:
class Relationship(models.Model):
##student and lecturer models shall inherit t
如何检索用户在Many to Many relationship中SQL中的所有实例。(PostgreSQL)
我有下表使用django
models.py
...
from django.contrib.auth import get_user_model
...
User = get_user_model()
class Membership(models.Model):
...
member = models.ManyToManyField(User, related_name="user_membership")
status = mo
在我的Django项目中,我有一些用户,每个用户可能有不同的权限(有些人只有读权限,但有些人可能是读写权限),我想将permissions字段添加到django auth_user_groups表,如下所示:
这是我的models.py:
from django.db.models import *
from django.contrib.auth.models import User, Group
from django.db.models.signals import post_save
class MyUser(Model):
user = OneToOneField(
在Django中,有没有一种方法可以创建一个对象,创建它的相关对象,然后一次性保存它们?
例如,在以下代码中:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=255)
body = models.CharField(max_length=255)
class Tag(models.Model):
post = models.ForeignKey(Post)
title = models.CharField(max_len
我不得不编写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
我已经创建了一个数字产品的eCommerce应用程序,其中我已经在我的产品模型的配置文件模型中创建了一个ManyToMany关系。 在我添加了多对多字段后,在我的配置文件模型中,它阻碍了我创建新的配置文件,并给出了以下错误消息:- ValueError: needs to have a value for field "id" before this many-to-many relationship can be used. 这是我的模型: class Profile(models.Model):
date = models.DateTimeField(auto_n
刚学完Django教程。开始我自己的项目。使用ManyToMany关系示例。我在admin.py中添加了以下控件:
class ArticleInline(admin.TabularInline):
model = Article
extra = 3
class PublicationAdmin(admin.ModelAdmin):
inlines = [ArticleInline]
admin.site.register(Publication, PublicationAdmin)
但是,当我尝试在管理页面中添加出版物时,它会显示:
<class '