Django:参考数据库输入

时间:2014-08-16 19:18:05

标签: python django

我想为用户设置背景资料图片。但不是让他放置任何图像,我会给一些照片让他选择。所以我首先将图像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配置文件中?

1 个答案:

答案 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