Я создал поле долготы и широты для моего администратора, но когда я использую маркер рисования вместо ввода поля long / lat, мое пустое значение long / lat field save переопределяет мое поле точек. У вас есть решение для этого? Спасибо за чтение моего вопроса и извините за мой английский sh плохо.
model.py
class Hostels(models.Model):
osm_id = models.CharField(max_length=10)
code = models.IntegerField(null=True)
fclass = models.CharField(max_length=28)
name = models.CharField(max_length=100, default='')
address = models.CharField(max_length=100, default='')
image_upload = models.ImageField(upload_to='image_nhatro', null=True, blank=True)
price = MoneyField(max_digits=14, decimal_places=2, default_currency='VND', default='0')
created_at = models.DateField(auto_now_add=True)
updated_at = models.DateField(auto_now=True)
area = models.FloatField(blank=True, null=True)
description = models.TextField(blank=True, null=True)
room = models.IntegerField(blank=True, null=True)
people = models.IntegerField(blank=True, null=True)
phone = models.IntegerField(blank=True, null=True)
name_contact = models.CharField(max_length=100, default='')
mail = models.CharField(max_length=100, default='')
geom = models.PointField(srid=4326, blank=True)
def __unicode__(self):
return self.name
form.py
class HostelAdminForm(forms.ModelForm):
latitude = forms.FloatField(min_value=-90, max_value=90, required = False)
longitude = forms.FloatField(min_value=-180, max_value=180, required = False)
class Meta(object):
model = Hostels
exclude = []
def save(self, commit=True):
self.instance.geom = Point(self.cleaned_data["longitude"], self.cleaned_data["latitude"])
return super(HostelAdminForm, self).save(commit)
admin.py
class quanly_nha_tro(LeafletGeoAdmin):
list_display = ('name', 'created_at', 'updated_at')
exclude = ('fclass','osm_id','code')
form = HostelAdminForm
my img admin