在Django FileField upload_to

时间:2016-06-30 20:04:07

标签: python django django-admin

我正在尝试使用OneToOneField的反向关系在upload_to的{​​{1}}方法中构建路径,如下所示:

FileField

我可以用空资产创建def get_upload_path(asset, filename): # Using the reverse relation `game` here return '/'.join([asset.game.slug, filename]) class Asset(models.Model) file = models.FileField(upload_to=get_upload_path) class Game(models.Model): slug = models.SlugField() menu_image = models.OneToOneField(Asset, related_name='game', null=True, blank=True) 没问题。当我在管理员中更改游戏时,我通过绿色+按钮向菜单图像添加了新的Game,我在弹出窗口中收到Asset错误,说“资产没有游戏”。有没有办法实现这个目标?我找到了一些其他答案,就像herehere一样,但它在Django 1.9.4上对我不起作用。

1 个答案:

答案 0 :(得分:1)

问题出在你的'get_upload_path'函数中,因为你正在调用asset.game.slug ...但你还没有定义任何游戏......