0
這樣
我得到錯誤:Django的 - Mysql的完整性錯誤1048 「列id_fleet_id」不能爲空「
1048, "Column 'id_fleet_id' cannot be null"
這是我的models.py
class Fleet(models.Model):
id_fleet = models.CharField(max_length=6)
date_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.id_fleet
class Track(models.Model):
name_track = models.CharField(max_length=20, null=True, blank=True)
id_fleet = models.ForeignKey(Fleet)
latitude = models.DecimalField(max_digits=16,decimal_places=2, blank=True, null=True)
altitude = models.DecimalField(max_digits=16,decimal_places=2, blank=True, null=True)
length = models.DecimalField(max_digits=16,decimal_places=2, blank=True, null=True)
geom = MultiPointField()
def __str__(self):
return self.name_track
我試圖把id_fleet = models.ForeignKey(Fleet, null=True, blank=True)
但顯示錯誤
'trackform' object has no attribute 'cleaned_data
這是views.py:
def add_track(request):
if request.method == "POST":
form = TrackForm(request.POST, request.FILES)
if form.is_valid():
p = form.save(commit=False)
p.save()
return redirect('map_add.html', pk=p.pk)
else:
form = TrackForm()
return render(request,'map_add.html', {'form': form}, context_instance= RequestContext(request))
這是forms.py:
class TrackForm(forms.ModelForm):
geom = MultiPointField()
class Meta:
model = Track
fields = ('id_fleet','name_track','length', 'geom')
address = TrackForm()
address.geom = {'type': 'MultiPoint', 'coordinates': [0, 0]}
address.save()
你可以幫我解決這個問題呢?
你究竟在哪裏得到錯誤? views.py或你的forms.py?你的forms.py代碼的目的是什麼?如果您嘗試在不調用is_valid()的情況下保存某些表單(就像您在forms.py中那樣),它會抱怨clean_data不存在,因爲它是在驗證後創建的。 – cdvv7788
我在views.py中收到錯誤。我的forms.py創建數據,並使字段geom使用django geojson創建點映射使用多字段。怎麼樣? – User0511