我在 django 中有这个模型:
class JournalsGeneral(models.Model):
jid = models.AutoField(primary_key=True)
code = models.CharField("Code", max_length=50)
name = models.CharField("Name", max_length=2000)
url = models.URLField("Journal Web Site", max_length=2000, blank=True)
online = models.BooleanField("Online?")
active = models.BooleanField("Active?")
class Meta:
db_table = u'journals_general'
verbose_name = "Journal General"
ordering = ['code']
def __unicode__(self):
return self.name
我的问题是,在数据库 (Postgres) 中,连接到 jid
的序列的名称不是 Django 预期的 journals_general_jid_seq
,但它有一个不同的名称。
有没有办法指定 Django 必须为 AutoField
使用哪个序列?在我阅读的文档中,我找不到答案。
最佳答案
我不这么认为,但有一个开放的票(有一个可能有用的补丁?):
http://code.djangoproject.com/ticket/1946
编辑:
实际上,上面的链接中有 HM 对线程的评论,该线程提供了比补丁本身更好的解决方案。补丁是旧的,我不确定它是否适用于您正在使用的 Django 版本。
关于Django + Postgres : How to specify sequence for a field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516176/