处理南方的PostgreSQL串行字段类型

zen*_*sel 5 django postgresql django-south

我正在使用遗留数据库,它以db方式执行一些有意义的事情,但不确定如何在Django中表示它们以便South和Django本身可以处理它们.

我有一个PartCode作为键的Parts表我有一个Vendor表,VendorCode作为键

我有一个零件和供应商的FK的PartsVendor表,以及关于这种关系的其他信息.我正在使用"通过"参数,因此它独立,但它使用PartCode + VendorCode作为复合键,Django不支持.只有在使用南方或像dumpdata这样的功能时,才能看到主键才会遇到问题.但是,这些都是相当大的问题.

我的临时解决方案是只添加一个_id字段作为AutoField并在Postgres中添加一个串行字段,它可以正常工作,但是当使用South时,它会阻塞default = False和NOT NULL的事实.

我已经走上了尝试编写自定义字段的道路,但这似乎是一个死胡同,因为我实际上并没有改变关于字段类型的任何内容.

ado*_*ppy 3

在 PostgreSQL 中,串行类型实际上并不是常规类型。

Serial 的作用是用序列中下一个数字的默认值设置一个整数字段。该序列存储在数据库的其他位置(也可以手动创建)

我还没有对此进行测试,但逻辑串行字段似乎都在 Django 中表示为整数。将默认属性应用到字段并将其保留在插入中。

我希望这有帮助。:)