我有一个model.py
:
class SomeModel(models.Model):
name = models.CharField(max_length = 30)
file_field = models.FileField(upload_to=os.path.join(settings.MEDIA_ROOT,'strategies/'))
和view.py
def test(request):
csv = get_csv(args)
我的函数get_csv()返回csv的字符串。我需要将其保存在我的模型中。我不想创建文件并将现有的url放入模型中,因为我总是需要生成一个新的文件名,但是我知道,它可以自动完成。
您能以任何方式建议我解决这个问题吗?
答案 0 :(得分:0)
如果我理解正确,那么您的问题是为每个文件创建了不同的文件名。因此,您可以像这样通过对象的ID来命名文件:
def test(request):
csv = get_csv(args)
id = SomeModel.objects.latest('id').id + 1
csv_file = open("file_" + str(id) + ".csv", w)
csv_file.write(csv)
sm = SomeModel.objects.create(name="foo", file_field=csv_file)
csv_file.close()