gpt4 book ai didi

django - 在南方处理 PostgreSQL 串行字段类型

转载 作者:行者123 更新时间:2023-11-29 11:29:33 24 4
gpt4 key购买 nike

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

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

我有一个 PartsVendor 表,其中包含零件和供应商的 FK,以及有关该关系的其他信息。我正在使用“through”参数,因此它独立存在,但它使用 PartCode+VendorCode 作为复合键,这在 Django 中不受支持。仅当使用 South 或 dumpdata 之类的函数时,它想要查看主键时,我才会遇到问题。然而,这些都是相当大的问题。

我的临时解决方案是只添加一个 _id 字段作为 AutoField,并在 Postgres 中添加一个序列字段,这工作正常,但是当使用 South 时,它会因为 default=False 和 NOT NULL 为 true 的事实而窒息。

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

最佳答案

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

serial 所做的是使用序列中下一个数字的默认值设置一个整数字段。序列存储在数据库的其他地方(也可以手动创建)

我没有对此进行测试,但看起来逻辑序列字段在 Django 中都将表示为整数。申请default属性到字段并将其从您的插入中删除。

希望对您有所帮助。 :)

关于django - 在南方处理 PostgreSQL 串行字段类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com