Python 当模式名与表名一起传递时,Django migrate不起作用
我在运行时出错:Python 当模式名与表名一起传递时,Django migrate不起作用,python,sql-server,django,postgresql,Python,Sql Server,Django,Postgresql,我在运行时出错: $ python manage.py migrate 这是一个场景: 我的Postgres数据库中有2个模式。任何地方都可能有2个模式,对吗?可以是SQL Server、Mysql或Oracle中的两个架构 我想把默认的django表放在一个模式中,我想我能够做到。架构名称=:django” 我自己的模型在不同的架构中。这就是我遇到问题的地方。schema name=“data” 如果我在模型的元类中不使用schema,那么我的模型就可以正常工作。要在db_table选项中添
$ python manage.py migrate
这是一个场景:
我的Postgres数据库中有2个模式。任何地方都可能有2个模式,对吗?可以是SQL Server、Mysql或Oracle中的两个架构
class ClientCode(models.Model):
client_code_id = models.AutoField(primary_key=True)
client_code_name = models.CharField(max_length=255)
client_name = models.CharField(max_length=255)
is_inactive = models.BooleanField(default=False)
is_billable = models.BooleanField(default=True)
is_internal = models.BooleanField(default=True)
company = models.ForeignKey('companies.Company',related_name='clientcodes')
slug = models.SlugField(unique=True, default='')
def get_absolute_url(self):
return reverse("clientcodes:details", kwargs = {"slug": self.slug})
class Meta:
unique_together = ('company','client_code_name')
ordering = ['client_code_name']
db_table = '"data"."client_code"'
# app_label = 'company_clientcodes'
def __str__(self):
return '%s: %s' % (self.client_code_name, self.client_name)
这就是错误:
django.db.utils.ProgrammingError: zero-length delimited identifier at or near """"
LINE 1: CREATE INDEX ""data"."client_code"_447d3092" ON "data"."clie...
SQLMigrate代码结果:
BEGIN;
--
-- Create model ClientCode
--
CREATE TABLE "data"."client_code" ("client_code_id" serial NOT NULL PRIMARY KEY, "client_code_name" varchar(255) NOT NULL, "client_name" varchar(255) NOT NULL, "is_inactive" boolean NOT NULL, "is_billable" boolean NOT NULL, "is_internal" boolean NOT NULL, "slug" varchar(50) NOT NULL UNIQUE, "company_id" integer NOT NULL);
--
-- Alter unique_together for clientcode (1 constraint(s))
--
ALTER TABLE "data"."client_code" ADD CONSTRAINT "data_client_code_company_id_e066ecc7_uniq" UNIQUE ("company_id", "client_code_name");
ALTER TABLE "data"."client_code" ADD CONSTRAINT "data_client_code_company_id_bf78b136_fk_data_company_company_id" FOREIGN KEY ("company_id") REFERENCES "data"."company" ("company_id") DEFERRABLE INITIALLY DEFERRED;
CREATE INDEX ""data"."client_code"_447d3092" ON "data"."client_code" ("company_id");
CREATE INDEX "data_client_code_slug_d0a8e64d_like" ON "data"."client_code" ("slug" varchar_pattern_ops);
COMMIT;
非常感谢您的帮助。我解决了相同的错误,我遇到了如下问题:
db_table = "'sellers'"
所以我把它改成了
db_table = 'sellers'
然后迁移工作正常。也许你可以尝试以同样的方式更改代码。你能提供SQL迁移生成的内容吗:?Hi@vanadium23。我刚刚在我的帖子中添加了它。你会很快看到问题,但我如何修复它?这是我的大问题。我不认为Django framework希望我们编写一个片段来解决它。