0

所以这是我的model.py:

class Album(models.Model):
    name = models.CharField(max_length=150, default="Default Album")

    def __unicode__(self):
        return self.name


class Photo(Image):
    album = models.ForeignKey(Album)

当我尝试在管理员中上传照片时,有一个字段下拉列表Album。但里面什么都没有,一片空白。我以为它会创建一个名为“默认专辑”的新专辑,但它只是给了我一个错误。如何指定默认值?

4

1 回答 1

0

因此,当您创建照片时,它会尝试分配 ForeignKey。如果它为空白,则您的相册模型中没有任何条目。 default指在创建新的 Album 实例时具有默认值,例如

new_album = Album()
new_album.save() # new_album.name == "Default Album"

您需要做的是首先创建一个相册,以便下拉列表中至少填充 1 Album。然后您可以创建一张照片并将其与适当的Album.

此外,听起来您想要一个默认ForeignKey引用,您可以将 id 指定给默认实例,如ForeignKey(Album, default=1)or default=some_fn,在哪里some_fn查找适当的专辑实例。

于 2013-11-04T17:38:58.007 回答