0

Django の例を復活させる:

from django.db import models

class Publication(models.Model):
    title = models.CharField(max_length=30)

class Article(models.Model):
    headline = models.CharField(max_length=100)
    publications = models.ManyToManyField(Publication)    

出版物がないすべての記事を入手するにはどうすればよいですか?

Article.objects.filter(...) 
4

2 に答える 2

0

なしとして指定publications:

Article.objects.filter(publications=None)

例:

>>> p1 = Publication.objects.create(title='1')
>>> p2 = Publication.objects.create(title='2')
>>> a1 = Article.objects.create(headline='a')
>>> a2 = Article.objects.create(headline='b')
>>> a3 = Article.objects.create(headline='c')
>>> a1.publications.add(p1)
>>> a1.publications.add(p2)
>>> a3.publications.add(p1)
>>> Article.objects.filter(publications=None)
[<Article: Article object>]
>>> _[0].headline
u'b'
于 2013-10-30T04:50:44.393 に答える
0
Article.objects.filter(publications=None)

出版物フィールドで blank=True を Article モデルに定義します。そうしないと、出版物なしで記事を作成することはできません。

publications = models.ManyToManyField(Publication, blank=True)  
于 2013-10-30T05:02:18.367 に答える