我在 ubuntu 18.04 上使用 django 2.2 和 python 3.6.8。我创建了一个如下模型:
@reversion.register()
class Courses(BaseModel):
coursecode = models.AutoField(primary_key=True, verbose_name=_("Kurs Kodu"))
coursename = models.ForeignKey(CourseNames, on_delete=models.PROTECT, verbose_name=_("Kurs"))
teacher = models.ManyToManyField(Staff, blank=True, related_name='teacher', verbose_name=_("Öğretmenler"))
courseroom = models.ForeignKey(CourseRoom, on_delete=models.PROTECT, verbose_name=_("Kurs Yeri"))
credit = models.DecimalField(verbose_name=_("Kredi"), default=0.0, max_digits=3, decimal_places=1)
student = models.ManyToManyField(Student, blank=True, verbose_name=_("Öğrenci"))
createdon = models.DateField(verbose_name=_("Oluşturulma Tarihi"))
createdby = models.ForeignKey(Staff, on_delete=models.PROTECT, related_name='creatorstaff', verbose_name=_("Kaydeden Personel"))
coursenotes = models.TextField(null=True, blank=True, verbose_name=_("Kurs Notları"))
class Meta:
permissions = (
("list_course", _("List Courses")),
)
ordering = ['coursename']
def __str__(self):
return "%s - %s" % (self.coursename, self.courseroom, self.teacher)
当我尝试进行迁移时,出现以下错误:
project1app.Courses: (models.E026) 模型不能有多个“primary_key=True”字段。
当我设置一个主键字段时,django 不应该设置自动主键并使用我的。主键只有一个字段。但给出以下错误。