首先要做的是单独开发一个Django应用程序
我建立了一个用户模型如下
class User(auth.models.User):
def __str__(self):
return self.username
那里一切正常。然后我创建了一个营地模型
class Campground(models.Model):
author = models.ForeignKey('auth.User' , related_name='submitted_campgrounds')
name = models.CharField(max_length=128, blank=False, unique=True)
image = models.URLField(blank=False)
description = models.TextField()
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('campgrounds:single', kwargs={'pk':self.pk})
编辑
查看代码
class CreateCampground(LoginRequiredMixin,generic.CreateView):
fields = ('name', 'image', 'description')
model = Campground
表单来自CreateView
我在提交创建新营地的表单时遇到错误
它不应该从登录用户那里获取用户id吗?我在create视图的视图上有LoginRequiredMixin
感谢您的帮助
通过将此添加到我的CreateCampground视图来解决
你的密码很好。当您刚刚创建了新模型Campground时,没有对象Campground的现有用户可能会出现问题。我记得要通过登录到Django的管理员来解决这个问题,并为任何没有Campground的用户手动创建一个Campground。或者,您可以尝试删除该用户,然后再次进行迁移
希望这有帮助
干杯 亨利
相关问题 更多 >
编程相关推荐