2016-09-30 4 views
1
gescheitert
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 

ich diesen Fehler erhalte:Ich habe versucht, dieses Django Object Set Fehler zu korrigieren, aber es hat

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

I PyCharm 2016 bin mit und ich begann einfach selbst gestern Django lernen.

Antwort

1

Da Sie gerade begonnen haben, Django zu lernen, lassen Sie mich darauf hinweisen, dass Feldnamen mit einem Kleinbuchstaben beginnen sollten. (Es ist kein Fehler, Großbuchstaben zu verwenden, aber es ist verwirrend und nicht der Standard)

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) 

Nun, wenn Sie die Fremdschlüsselbeziehung, wie oben definiert. Jede Galerie hat stattdessen eine picture_set, deren Name von dem Modellnamen kommt, den Sie gewählt haben, der in diesem Fall Picture

ist
Verwandte Themen