2016-12-21 8 views
3

とにかくdjango foreignkeyフィールドにフィルタを追加しますか?Django ForeignKeyフィルタの問題

class Product(models.Model): 
    name = models.CharField(max_length=100) 
    category = models.ForeignKey(Category) 
    image = models.ImageField() 
    description = models.TextField() 

    def __str__(self): 
     return self.name 

答えて

2

はい。あなたはこのようkey__構文を使用することができます。

products = Product.objects.filter(category__name='Tops') 

だけ__Categoryモデルに表示され、あなたが行ってもいいだろう後に何であるかを確認してください。もっとabout how django handles cross-relationship filtering hereを読むことができます。


また、単に、関連ID自身で問い合わせることができます:

category = Category.objects.get(id=25) 
products = Producct.objects.filter(category_id=25) 
+0

私は ''グループ= models.ForeignKey(Category.objects.filter(group__category__nameは= "foo" を))を使用していますが、 'django.core.exceptions.AppRegistryNotReady:モデルがまだロードされていません。 ' – nikolas

+0

これは標準manage.pyでdjangoを使用していないことを意味します。その場合:http://stackoverflow.com/questions/24793351/django-appregistrynotready – 2ps

関連する問題