python - 为什么无法获取Django模型主键的值?
PHPz
PHPz 2017-04-18 10:08:40
0
3
466
PHPz
PHPz

学习是最好的投资!

全部回复(3)
PHPzhong

Django 无需「显式地定义主键」

它会自动为表添加一个 id 字段( 主键, 自增 )

可以考虑把你手动定义的主键去掉

伊谢尔伦

需要看清楚,你的post对象是PostForm()而非Post(),你的PostForm表单处理对象有id初始值,但是你传来的request.POST值有没有id值呢,没有就自然是None了,你这个post如果是Post()对象,那么肯定是有id值的

PHPzhong

有一个信息不详细没给出,就是 PostForm 你是如何定义的。PostForm 你是如何定义的。

如果你这么定义PostForm,通过调用PostForm(request.POST).save()是可以得到你想要的结果的。

class PostForm(forms.ModelForm):

    class Meta:
        model = Post
        

不过你的PostForm肯定不是这么定义的,因为post = form.save(request.user)是错误的使用方法,ModelFormsave方法只有一个参数,就是commit = False 或者 commit=True

如果你这么定义PostForm,通过调用PostForm(request.POST).save()是可以得到你想要的结果的。

rrreee

不过你的PostForm肯定不是这么定义的,因为post = form.save(request.user)是错误的使用方法,ModelFormsave方法只有一个参数,就是commit = False 或者 commit=True,表示是否将数据保存到数据库,默认True. 🎜 🎜源码见链接🎜
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板