0

我正在尝试django.contrib.gis.forms.PointField使用这样的自定义表单在我的 django 管理员中设置 a 的默认值:

from django.contrib.gis import forms
from django.contrib.gis.geos import Point
from api import models


class CustomPlaceCreationForm(forms.ModelForm):
    place_url = forms.CharField(initial="https://www.places.com/myplace")
    position = forms.PointField(
        widget=forms.OSMWidget(attrs={'map_width': 800, 'map_height': 500}),
        initial=Point(x=121.502020, y=25.039270, srid=4326)
    )

    class Meta:
        model = models.Place
        fields = '__all__'

place_url initial效果很好,但默认情况下position总是[0, 0]如此。是图书馆的错误还是我做的不对?任何解决方法?谢谢!

4

1 回答 1

0

如果在您的用例中可行,您可以将其添加到模型上,如下所示,请尝试使用 django 进行测试并更新是否有效

class Client(models.Model):
    firstname = models.CharField(max_length=100)
    lastname = models.CharField(max_length=100)
    location = models.PointField(geography=True, default=Point(0.0, 0.0))
于 2020-07-25T17:55:58.430 回答