我不知道为什么在发布数据时文件字段返回包含None的字符串。
像这样
保存时我的实例ID为空。
在 models.py
def room_photo_path(instance, filename):
return 'room/{}/{}'.format(instance.id, filename)
class Room(models.Model):
photo = models.FileField(upload_to=room_photo_path)
在 serializers.py
class RoomSerializer(serializers.ModelSerializer):
class Meta:
model = Room
fields = '__all__'
答案 0 :(得分:2)
id已在数据库中分配,因此需要保存实例以具有ID。
upload_to
函数在对象保存到数据库之前被调用,因此您无法访问ID,因为还没有ID。
如果确实需要使用ID,则可以使用信号并使用post_save
信号进行更改。