Python Django jquery文件上载:链接到另一个模型

Python Django jquery文件上载:链接到另一个模型,python,django,Python,Django,设置django jquery fileupload并运行,下面是模型 # encoding: utf-8 from django.db import models class Picture(models.Model): """This is a small demo using just two fields. The slug field is really not necessary, but makes the code simpler. ImageField de

设置django jquery fileupload并运行,下面是模型

# encoding: utf-8
from django.db import models


class Picture(models.Model):
    """This is a small demo using just two fields. The slug field is really not
    necessary, but makes the code simpler. ImageField depends on PIL or
    pillow (where Pillow is easily installable in a virtualenv. If you have
    problems installing pillow, use a more generic FileField instead.

    """
    file = models.FileField(upload_to="uploads")
    slug = models.SlugField(max_length=50, blank=True)

    def __str__(self):
        return self.file.name

    @models.permalink
    def get_absolute_url(self):
        return ('upload-new', )

    def save(self, *args, **kwargs):
        self.slug = self.file.name
        super(Picture, self).save(*args, **kwargs)

    def delete(self, *args, **kwargs):
        """delete -- Remove to leave file."""
        self.file.delete(False)
        super(Picture, self).delete(*args, **kwargs)
那景色呢

# encoding: utf-8
import json

from django.http import HttpResponse
from django.views.generic import CreateView, DeleteView, ListView
from .models import Picture
from .response import JSONResponse, response_mimetype
from .serialize import serialize


class PictureCreateView(CreateView):
    model = Picture
    fields = "__all__"

    def form_valid(self, form):
        self.object = form.save()
        files = [serialize(self.object)]
        data = {'files': files}
        response = JSONResponse(data, mimetype=response_mimetype(self.request))
        response['Content-Disposition'] = 'inline; filename=files.json'
        return response

    def form_invalid(self, form):
        data = json.dumps(form.errors)
        return HttpResponse(content=data, status=400, content_type='application/json')
现在忽略它是如何在幕后上传图像的,但是我需要弄清楚的是,还有另一个模型
UserService
,它需要使用
ForeignKey
ManytoManyField
链接到
Picture
,因此图片是UserService上的项目


如果您对如何实现这一点有想法,那么它可以在上传时工作。

到目前为止您做了哪些尝试?我会选择
ForeignKey
关系,并在model
UserService
中添加以下变量
picture=models.ForeignKey(picture,blank=True,default=None)
。您可以更改
blank
default
的选项,并且假设模型
UserService
将链接到
User
模型,因此模型
UserService
中的第一行应该是`;这一行是必需的。将UserService链接到用户模型实例。user=models.OneToOneField(user)`。多亏了一个懒散的小组建议我将信息传递给form\u valid并从那里保存,结果使用了cookie。到目前为止,你都尝试了什么?我会选择
ForeignKey
关系,并在model
UserService
中添加以下变量
picture=models.ForeignKey(picture,blank=True,default=None)
。您可以更改
blank
default
的选项,并且假设模型
UserService
将链接到
User
模型,因此模型
UserService
中的第一行应该是`;这一行是必需的。将UserService链接到用户模型实例。user=models.OneToOneField(user)`。多亏了一个懒散的小组建议我把信息传递给form\u valid并从那里保存,最后使用了cookie。