自动为Django

时间:2017-08-06 20:08:36

标签: python django

有没有办法在定义模型时自动为Django中的模型设置字段值? 我需要使用函数在我的模型中自动定义一些字段值。 我的函数获取输入图像路径计算,我需要计算结果来定义Django中的数据库字段。

首先我想要的是这样的:

我的观点:

def myview(request):
    uploadimages = UploadImagesForm(request.POST or None, request.FILES or None)
    if uploadimages.is_valid():
        # Get the images that have been browsed
        if request.FILES.get('multipleimages', None) is not None:
            images = request.FILES.getlist('multipleimages')
            for image in images:
                MyModel.objects.create(field1=request.user,field2=image)

因为工作我的功能不起作用需要先在服务器上传图像以获得工作路径。

任何想法如何定义我的模型使用我的函数自动化?

更新

instance = MyModel.objects.create(user=request.user, upload=image)
                instance.field1 = name
                instance.field2 = myvalue
                instance.field3 = myvalue2
                instance.field4  = myvalue3
                instance.field5  = myvalue4
                instance.save()
此代码中的

错误是我的函数无法理解创建计算以在字段中设置值的图像路径。

如果我使用它:

MyModel.objects.create(user=request.user, upload=image)
instance = MyModel.objects.create(user=request.user, upload=image)
                instance.field1 = name
                instance.field2 = myvalue
                instance.field3 = myvalue2
                instance.field4  = myvalue3
                instance.field5  = myvalue4
                instance.save()

该工作但在数据库中创建了重复项。

1 个答案:

答案 0 :(得分:1)

您可以尝试:

instance = MyModel.objects.create(field1=request.user, field2=image)
instance.field3 = myfunc(image)
instance.field4 = myfunc(image)
instance.save()