为了账号安全,请及时绑定邮箱和手机立即绑定

为什么无法获取Django模型主键的值?

为什么无法获取Django模型主键的值?

翻过高山走不出你 2019-02-20 09:31:08
下面是定义模型的代码 class Post(models.Model): id = models.IntegerField(primary_key=True) body = models.CharField(max_length=50000) timestamp = models.DateTimeField(auto_now=True) author_id = models.ForeignKey(settings.AUTH_USER_MODEL, default=None) def get_absolute_url(self): return reverse('display_post', args=[self.id]) 下面是视图函数 @login_required def new_post(request): form = PostForm() if request.method == 'POST': form = PostForm(data=request.POST) if form.is_valid(): post = form.save(request.user) print(post.id) print(post.body) print(post.timestamp) print(post.author_id) # return redirect(post) return render(request, 'post.html', {'form': form}) 这是数据库中的一条记录15|hello world|2016-12-25 01:59:33.898952|zhou@zhou.com15就是主键的值,除了print(post.id)为None外,其他都有值。有谁知道为什么只有post.id为None,但又可以获取其他属性的值得原因吗? PostForm代码 class PostForm(forms.ModelForm): class Meta: model = Post fields = ('body',) def save(self, user_id): self.instance.author_id = user_id return super().save()
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1038 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信