查询排除()
<字段> _set
ForeignKeyManyToMany QuerySet
查找
API
查询
user.groups.set(集团)
user.groups.all ()
group.user_set.all () # _set
Author.objects.exclude (name=' jowin)
Entry.objects.get (id=1)。博客#
Blog.objects.get (id=1) .entry_set.all () #
类集团(models.Model):
名称=models.CharField (max_length=20)
def __str__(自我):返回self.name
类用户(models.Model):
名称=models.CharField (max_length=20)
组=models.ManyToManyField(集团)#
def __str__(自我):返回self.name
>发布。模型导入集团用户
>用户=User.objects.create (name=' jowin)
> group1=Group.objects.create (name=' magedu1)
> group2=Group.objects.create (name=' magedu2)
>用户=User.objects.first ()
>组=Group.objects.all ()
>类型(集团)
>
>
> group=Group.objects.get(id=1)
>
class Group(models.Model):
name=models.CharField(max_length=20)
def __str__(self):
return self.name
class User(models.Model):
name=models.CharField(max_length=20)
# groups=models.ManyToManyField(Group)
def __str__(self):
return self.name
class UserGroupRelation(models.Model): #
user=models.ForeignKey(User)
group=models.ForeignKey(Group)
sqlite> .schema publish_usergrouprelation
CREATE TABLE IF NOT EXISTS "publish_usergrouprelation" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "group_id" integer NOT NULL REFERENCES "publish_group
" ("id"), "user_id" integer NOT NULL REFERENCES "publish_user" ("id"));
CREATE INDEX "publish_usergrouprelation_group_id_e393f98c" ON "publish_usergrouprelation" ("group_id");
CREATE INDEX "publish_usergrouprelation_user_id_0e041f81" ON "publish_usergrouprelation" ("user_id");
sqlite> .schema publish_group
CREATE TABLE IF NOT EXISTS "publish_group" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(20) NOT NULL);
sqlite> .schema publish_user
CREATE TABLE IF NOT EXISTS "publish_user" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "name" varchar(20) NOT NULL);
class Blog(models.Model):
name=models.CharField(max_length=100)
tagline=models.TextField()
def __str__(self):
return self.name
class Author(models.Model):
name=models.CharField(max_length=50)
email=models.EmailField()
def __str__(self):
return self.name
class Entry(models.Model):
blog=models.ForeignKey(Blog)
headline=models.CharField(max_length=255)
body_text=models.TextField()
pub_date=models.DateField()
authors=models.ManyToManyField(Author)
n_comments=models.IntegerField()
n_pingbacks=models.IntegerField()
rating=models.IntegerField()
def __str__(self):
return self.标题
排除过滤器()
> b=博客(name=芭肥康牟┛汀?口号=芭肥克凶钚碌男挛拧?
> b.save ()
> a1=Author.objects.create (name=' jowin、电子邮件=jowin@ane56.com)
> a2=Author.objects.create (name=胺ㄊΑ?电子邮件=mage@ane56.com)
>
> e=条目(博客=Blog.objects.get (id=1),标题=馐浴?body_text=馐浴?pub_date=timezone.now (), n_comments=20, n_pingbacks=50,评级=100)
> e.save ()
> e=Entry.objects.get (id=1)
> e。博客#
<博客:披头士博客>
> e.authors.set (Author.objects.all ())
> e.authors.all ()
> b=Blog.objects.get (id=1)
> b.entry_set.all () #
> b.entry_set.filter (headline__contains='测试')
> b.entry_set.count 1 ()
<字段> _set
类条目(models.Model):
博客=模型。ForeignKey(博客)
entries_set
filterAND
ORQfrom django.db。null