98年django_model2

查询排除()

<字段> _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 ()

、<作者:法师>、<作者:jowin>]>

> 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

98年django_model2