2016-09-30 10 views
1
from django.db import models 


class Gallery(models.Model): 
    Title = models.CharField(max_length=250) 
    Category = models.CharField(max_length=250) 
    Gallery_logo = models.CharField(max_length=1000) 

    def __str__(self): 
     return self.Title + '_' + self.Gallery_logo 


class Picture (models.Model): 
    Gallery = models.ForeignKey(Gallery, on_delete=models.CASCADE) 
    Title = models.CharField(max_length=250) 
    Artist = models.CharField(max_length=250) 
    Price = models.CharField(max_length=20) 

    def __str__(self): 
     return self.Title 

に失敗しました:私はPycharm 2016を使用しています私はこのDjangoのオブジェクト・セット・エラーを修正しようとしたが、それは、私はこのエラーを得続ける

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
AttributeError: 'Gallery' object has no attribute 'pic_set' 

と私はちょうど昨日、ジャンゴを学び、自己を開始しました。

答えて

1

あなたはちょうどdjangoを学び始めたので、フィールド名は小文字で始まることを指摘しましょう。あなたは上記のように外部キー関係を定義する際に今

class Gallery(models.Model): 
    title = models.CharField(max_length=250) 
    category = models.CharField(max_length=250) 
    gallery_logo = models.CharField(max_length=1000) 

    def __str__(self): 
     return self.Title + '_' + self.Gallery_logo 


class Picture (models.Model): 
    gallery = models.ForeignKey(Gallery, on_delete=models.CASCADE) 
    title = models.CharField(max_length=250) 
    artist = models.CharField(max_length=250) 
    price = models.CharField(max_length=20) 

(これは、大文字を使用し、エラーではありませんが、それは、標準の混乱だとしません)。代わりに各ギャラリーにpicture_setという名前があります。この名前は、この場合はPicture

です。
関連する問題