我开发了一个 Django 应用程序,一切正常,直到我进行了数据迁移,将数据迁移到由 Django 迁移创建的数据库中,我使用 SQL 脚本和 Pgadmin 进行了数据迁移。
现在,虽然数据库中已经有了记录,但当我尝试使用 Django 表单添加新记录时,出现以下错误:
“duplicate key value violates unique constraint > "learningcenters_partnerorganization_pkey" DETAIL: Key (id)=(1) already exists.”
应该注意的是,此表的可用 id 为 10。
模型:
现在,虽然数据库中已经有了记录,但当我尝试使用 Django 表单添加新记录时,出现以下错误:
“duplicate key value violates unique constraint > "learningcenters_partnerorganization_pkey" DETAIL: Key (id)=(1) already exists.”
应该注意的是,此表的可用 id 为 10。
模型:
class SLPAcademicRound(models.Model):
name = models.CharField(max_length=45,
unique=True,
verbose_name=_('Academic Round Name'))
code = models.CharField(max_length=5,
unique=True,
verbose_name=_('Code'))
cycle = models.ForeignKey(
SLPCycle,
blank=False, null=True,
verbose_name=_('SLP Cycle/SLP Cycle'),
on_delete=models.CASCADE,
)
learning_center = models.ForeignKey(
LearningCenter,
blank=False, null=True,
verbose_name=_('Learning Center'),
on_delete=models.CASCADE,
)
round_date_start = models.DateField(
blank=True,
null=True,
verbose_name=_('SLP Round Start Date')
)
round_date_end = models.DateField(
blank=True,
null=True,
verbose_name=_('SLP Round End Date')
)
current_round = models.BooleanField(
blank=True,
null=True,
verbose_name=_('Current Round')
)
视图:
class AddSLPAcademicRoundView(LoginRequiredMixin,
GroupRequiredMixin,
CreateView):
template_name = 'bootstrap4/common_form.html'
form_class = SLPAcademicRoundForm
queryset= SLPAcademicRound.objects.all()
group_required = ["LearningCenterManager"]
def get_absolute_url(self):
return reverse("slp:slp_academic_round_list")
def form_valid(self, form):
print((form.cleaned_data))
form.save(self.request)
return super(AddSLPAcademicRoundView, self).form_valid(form)
def get_form_kwargs(self, *args, **kwargs):
kwargs = super().get_form_kwargs(*args, **kwargs)
kwargs['user'] = self.request.user
return kwargs