django - Holen Sie sich den Objekten, die aus Vielen Zu-Eins-Beziehung
Bitte haben Sie einen Blick auf diese Modelle:
class Album(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=200)
pub_date = models.DateTimeField(default=datetime.now)
class Photo(models.Model):
album = models.ForeignKey(Album, default=3)
image = models.ImageField(upload_to=get_upload_file_name)
caption = models.CharField(max_length=200)
pub_date = models.DateTimeField(default=datetime.now)
Wie bekomme ich den das einstellen von Fotos für einen bestimmten album??? Und wie man die Album aus der Foto Instanz selbst?
Habe ich versucht, dieses:
# To get the set of photos from the user (tika) album:
>>>t = User.objects.get(username='tika')
>>>t_album = Album.objects.get(user=t)
>>>t_album
<Album: tika_album>
>>>t_album.image_set.all()
AttributeError: 'Album' Object has no attribute 'image_set'
Bitte führe mich in die richtige Richtung. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie fast da. Sie sollten mit
photo_set
stattimage_set
ich.e die Kleinbuchstaben modelname mit
_set
Wenn Sie möchten, dass die Liste der Fotos 1 Abfrage
Sogar besser, Sie können schreiben, in
Photo
Den
photos
wird der name der reverse-Feld ausAlbum
zuPhoto
. Wenn Sie nicht definieren, hat die reverse field benannt werdenphoto_set
.Verwenden Sie dann
oder