如何获取单个小部件在Django中设置2个字段? [英] How to get a single widget to set 2 fields in Django?

查看:98
本文介绍了如何获取单个小部件在Django中设置2个字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个有2个字段的模型:纬度和经度。现在他们是2个CharField,但是我想制作一个自定义的小部件来设置它在管理员中 - 正在考虑显示Google Maps,然后获取标记的坐标。



但是我可以有1个小部件(单个地图)设置2个不同的字段?

解决方案

在表单上定义拉长字段;将它们设置为使用HiddenInputWidget。



在表单初始化后,添加另外一个包含您的自定义窗口小部件的字段,它包含两个值。



在该添加字段的clean方法中,设置self.cleaned_data ['lat']和self.cleaned_data ['lng']



可能有更清洁的方法,但它应该工作


I got a model with 2 fields: latitude and longitude. Right now they're 2 CharFields, but I want to make a custom widget to set it in admin - was thinking about displaying Google Maps, then getting the coordinates of the marker.

But can I have 1 widget (a single map) to set 2 different fields?

解决方案

Define lat and long fields on your form; set them to use the HiddenInputWidget.

After the init of your form, add another field which contains your custom widget that takes two values.

In the clean method for that added field, set the values of self.cleaned_data['lat'] and self.cleaned_data['lng']

There are probably cleaner ways, but it should work

这篇关于如何获取单个小部件在Django中设置2个字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆