python - 如何将附加数据传递给 post_ajax 方法?
问题描述
我有模型:
class MyModelOne(models.Model):
title = models.CharField(verbose_name=_('Title'), max_length=255)
body = models.TextField(verbose_name=_('Body'))
# some other fields
class MyModelTwo(models.Model)
title = models.CharField(verbose_name=_('Title'), max_length=255)
# some other fields
class Photo(models.Model):
title = models.CharField(verbose_name=_('Title'), max_length=255)
image = StdImageField(verbose_name=_('Image'),upload_to='photos')
content_type = models.ForeignKey(ContentType,on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
我想包含一个 dropzone (DropzoneJS) 字段,用于在更新它们的对象时在其他一些模型的管理员更改视图中创建照片对象。我正在使用 ajax 视图将其独立于管理员更改视图表单进行处理。
要创建 Photo 对象,我需要将其他模型当前更新的对象的数据传递给 post_ajax 方法。
我不知道如何在我想处理照片创建的 post_ajax 方法中识别当前对象模型及其 id。
from braces.views import AjaxResponseMixin, JSONResponseMixin, LoginRequiredMixin, SuperuserRequiredMixin
class AjaxPhotoUploadView(
LoginRequiredMixin,
SuperuserRequiredMixin,
JSONResponseMixin,
AjaxResponseMixin,
View,
):
def post_ajax(self, request, *args, **kwargs):
file = request.FILES['file']
obj = ??? # I need to get the object somewhere here but I do not know how
Photo.objects.create(
title=file.name,
image=file,
content_object=obj,
)
response_dict = {
'message': 'File uploaded successfully!',
}
return self.render_json_response(response_dict, status=200)
解决方案
推荐阅读
- r - 为变量级别组合的每个实例创建一个“实例编号”
- python - 有什么比 python 中的 count() 更好更快地计算列表中特定元素的方法?
- java - JComponents 不可见
- sql - 动态 Where 与动态 Group by
- cordova - 如何在 apache cordova 中更改请求的“引用者”
- javascript - react js redux字段数组文件输入问题
- visual-studio - 无法在 Visual Studio 2019 上开始调试 Azure 函数
- javascript - 在 React Native 中没有使用 fetch() 获取 Set-Cookie 标头
- firebase - 使用firebase进行分页不适合我
- web-services - grails 中的 Web 服务 API