Есть models.py:
from django.db import models
from django.contrib.auth.models import User
class Tag(models.Model):
tag_name = models.CharField(max_length=30)
def __unicode__(self):
return self.tag_name
def __str__(self):
return self.tag_name
class Comments(models.Model):
comment_author = models.ForeignKey(User)
comment_image = models.ForeignKey(Images)
comment_title = models.CharField(max_length=50)
comment_pubdate = models.DateTimeField()
comment_text = models.TextField()
def __unicode__(self):
return '%s (%s)' % (self.comment_title, self.comment_author)
class Images(models.Model):
image_author = models.ForeignKey(User)
image_title = models.CharField(max_length=30)
image_description = models.TextField(blank=True)
image_pubdate = models.DateTimeField()
image_source = models.ImageField(upload_to='images/')
image_tags = models.ManyToManyField(Tag, blank=True)
image_comments = models.ManyToManyField(Comments, blank=True)
def __unicode__(self):
return '%s (%s)' % (self.image_title, self.image_author)
Это у меня осуществляется связью: image_comments = models.ManyToManyField(Comments, blank=True)
Один выбранный комментарий может соответствовать одному изображению.
Но так-как сделано у меня в модели “Comments”, а именно - comment_image = models.ForeignKey(Images), не получится.
Модель “Images” описана ниже модели “Comments”.
Как можно осуществить такую связь? Один комментарий для одного изображения!
Или у меня и вовсе плохой дизайн моделей?