Найти - Пользователи
Полная версия: Перекрестные модели
Начало » Django » Перекрестные модели
1
barabansheg
Есть две модели:
Модель1
Модель2

У обоих есть поле ForeignKey. В Модель1 оно ссылается на Модель2, а в Модель2 на Модель1. Но, Модель1 не видит Модель2. Как можно исправить?)
FishHook
related_name не помогает?
barabansheg
Нет. Или я не так делаю. Вот код:
class PhotoAlbum(models.Model):
    title = models.CharField(max_length = 255)
    owner = models.ForeignKey(User)    
    cover = models.ForeignKey(AlbumPhoto, related_name="cover")
class AlbumPhoto(models.Model):
    album = models.ForeignKey(PhotoAlbum, null=True, blank=True)
    photo = models.ImageField(upload_to='albums/', verbose_name=u'Фотография', null=True, blank=True)
    photo_s = models.ImageField(upload_to='albums/', null=True, blank=True)
    description = models.TextField()
    owner = models.ForeignKey(User)
    on_main = models.BooleanField()
Говорит: NameError: name ‘AlbumPhoto’ is not defined
nnmware
Вам жиж подсказали где копать.
Выкиньте вообще в альбоме cover = models.ForeignKey(AlbumPhoto, related_name=“cover”)
В фотках album = models.ForeignKey(PhotoAlbum, null=True, blank=True, related_name=“photos”)
у альбома в .photos_set.all() будут все фотки.
Похоже у Вас не очень правильно спроектировано еще, судя по всему Вы так пытались решить какая картинка будет обложкой альбома.
Ну сделайте например у фотки is_cover - BooleanField
barabansheg
nnmware
Ну сделайте например у фотки is_cover - BooleanField
Да, такое решение рассматривал, но подумал, что сабж получше будет. Оказалось что нет :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB