首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django - Mysql完整性错误1048,“列'id_fleet_id‘不能为空”

Django - Mysql完整性错误1048,“列'id_fleet_id‘不能为空”
EN

Stack Overflow用户
提问于 2015-06-30 03:26:54
回答 1查看 955关注 0票数 0

我犯了这样的错误:

代码语言:javascript
复制
1048, "Column 'id_fleet_id' cannot be null"

这是我的models.py

代码语言:javascript
复制
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),但显示错误

代码语言:javascript
复制
'trackform' object has no attribute 'cleaned_data

这是views.py:

代码语言:javascript
复制
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:

代码语言:javascript
复制
 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()

你能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-30 03:52:27

可能引发此错误的原因是,当id_fleet_id字段null参数为False或未设置时迁移模型,然后将null参数的值更改为True,但此决定不适用于数据库,请运行以下命令:

代码语言:javascript
复制
python manage.py makemigrations

然后跑:

代码语言:javascript
复制
python manage.py migrate

您还可以更改可空签入数据库,打开项目数据库,然后打开your_app_name_track表进行编辑和检查可空 of id_fleet_id字段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31129023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档