我有两个不同的帖子和图像类,但我需要在一个类中,所以我可以在添加post时从管理站点添加与帖子相关的图像。我需要在旁边显示图像标题
class Post(models.Model):
title = models.CharField(max_length=140)
body = models.TextField()
date = models.DateTimeField()
def __unicode__(self):
return self.title
class Image(models.Model):
image = models.ImageField(upload_to='%Y/%m/%d')
答案 0 :(得分:0)
您可以使用OneToOne
关系
class Image(models.Model):
image = models.ImageField(upload_to='%Y/%m/%d')
class Post(models.Model):
title = models.CharField(max_length=140)
body = models.TextField()
date = models.DateTimeField()
post_image = models.OneToOneField(Image)
def __unicode__(self):
return self.title
答案 1 :(得分:0)
您是否更新了数据库?您的post_image_id
表格中应该有一个blog_post
。 (与你有关,没有这样的列错误)。请注意,如果您运行Django 1.6或更低版本,./manage.py syncdb
将不会更新您的数据库表。您应该使用South ore手动更新数据库。
如果您修复了无列错误,则可以将图像添加到帖子中。 (见拉法达的例子)
如果您想拥有m2m关系并将多个图片添加到帖子中。
image_a = Image()
image_b = Image()
blog = Blog().save() # You must save a blog before adding images in a m2m relation.
blog.images.add(image_a)
blog.images.add(image_b)
或
blog = Blog().save()
for image in images:
blog.images.add(image)
blog.save()