我想为用户设置背景资料图片。但不是让他放置任何图像,我会给一些照片让他选择。所以我首先将图像URL存储在Django代码中,然后将它们直接插入到数据库中。但我认为在数据库中存储我想要的所有图像URL以及它们的名称更为实际,然后将图像名称引用回数据库。
所以我有:
class BackgroundImage(models.Model):
url = models.PositiveSmallIntegerField()
name = models.CharField(max_length=25)
class User(models.Model):
...
bgpic = <here it goes the code>
如何将此模型的数据库条目引用到我的用户URL配置文件中?
答案 0 :(得分:2)
我认为您希望在User
表格中向BackgroundImage
表格添加foreign key reference
class BackgroundImage(models.Model):
url = models.PositiveSmallIntegerField()
name = models.CharField(max_length=25)
class User(models.Model):
...
bgpic = models.ForeignKey(BackgroundImage)
然后,您将能够设置引用并访问通过外键附加的行的值:
user = User.objects.get(id=1)
# set the fk reference
user.bgpic = BackgroundImage.objects.get(id=2)
user.save()
# access the reference
print user.bgpic.url
print user.bgpic.name