gpt4 book ai didi

python - 在 Django ORM 之外编辑数据库

转载 作者:太空狗 更新时间:2023-10-30 01:13:26 25 4
gpt4 key购买 nike

如果使用 Django,通过 pgadmin 或 psql 直接对数据库(在我的例子中是 postgres)所做的更改会发生什么?

迁移如何处理此类更改?它们优先于 ORM 认为的事态是什么,还是 Django 覆盖它们并强加它自己的变化历史感?

最后,git 如何影响或避免这些问题(如果有的话)?

谢谢。

最佳答案

您可以从 django 迁移中完全排除一个模型,然后您负责将模式调整为 django 代码(或将 django 代码调整为现有模式):

class SomeModel(models.Model):

class Meta:
managed = False
db_table = "some_table_name"

name = models.Fields....

请注意,您不能同时拥有这两种方式,因此尽可能首选迁移。您始终可以定义自定义 SQL 迁移,这将节省对外部更改的需求。但是,有时您确实需要在别处处理架构而不是迁移,然后使用 managed=False

关于python - 在 Django ORM 之外编辑数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35273294/

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