首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django 1.8 官方文档翻译: 2-1-3 元选项 (初稿)

为了规避名称冲突,名称的一部分应该含有’%(app_label)s’和’%(model_name)s’,它们会被应用标签的名称和模型的名称替换,二者都是小写的。详见抽象模型的关联名称。...如果是False,Django 就不会为当前模型创建和删除数据表。如果当前模型表示一个已经存在的,通过其它方法建立的数据库视图或者数据表,这会相当有用。...这包括: 如果你不声明它的话,会向你的模型中添加一个自增主键。为了避免给后面的代码读者带来混乱,强烈推荐你在使用未被管理的模型时,指定数据表中所有的列。...unique_together Options.unique_together 用来设置的不重复的字段组合: unique_together = (("driver", "restaurant"),)...不能包含在unique_together中。

82130
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    探索 PythonDjango 支持分布式多租户数据库,如 Postgres+Citus

    在所有主键和唯一约束中包含 account_id 2.1 将 account_id 包含到主键中 2.2 将 account_id 包含到唯一约束中 3....django-multitenant https://github.com/citusdata/django-multitenant 此过程将分为 5 个步骤: 将租户列介绍给我们想要分发的缺少它的模型 更改分布式表的主键以包含租户列...在所有主键和唯一约束中包含 account_id 2.1 将 account_id 包含到主键中 Django 会自动在模型上创建一个简单的 “id” 主键,因此我们需要通过自己的自定义迁移来规避这种行为...您可以使用 unique=True 或 unique_together 在模型中设置显式约束,例如: class Project(models.Model): name = models.CharField...) managers = models.ManyToManyField(Manager, through='ProjectManager') class Meta: unique_together

    2.1K10

    Django中的AutoField字段使用

    【Django是一个机智的框架】 默认情况下Djang会为ORM中定义的每一张表加上一个自增ID列,并且用这个列来做主键;出于一个MySQL-DBA的工作经历我觉得 Djanog还真是机智;这样么说主要是因为我遇到过许多主从延时的问题...,有些比较过分的会延时好几周,通常这些都是因为binlog格式 为“ROW”但是表上不存在主键引起的。...如果当前网站用的是Django开发的,我想就不会有这种事情发生了吧。...,是会报错的 class TestModel(models.Model): tid = models.AutoField() 不显示指定主键,但是又给表增加AutoField列的话就会报错...类封装了一些数据库的信息,主要字段如下: 1、db_table:ORM在数据库中的表名默认为app_类名,可以通过db_table可以重写表名 2、index_together:联合索引,给两列做索引 3、unique_together

    6.5K20

    Web | Django 与数据库交互,你需要知道的 9 个技巧

    应该没有人真正在生产中只用一个工作进程来运行 Django,但是我们仍然希望确保一个查询不会浪费太多资源太久。 在大多数 Django 应用程序中,大部分时间都花在等待数据库查询上了。...因为这样它只会影响工作进程,不会影响进程外的分析查询,cron 任务等。 希望您使用的是持久的数据库连接,这样每次请求都不会再有连接开销。...= ( 'group', 'user', ) 这个 unique_together 也会创建两个索引,所以我们得到了两个字段三个索引的模型...= ( 'user', 'group', ) *注意unique_together元组里面的'user'和'group'顺序调整了,使索引更小...再举一个例子,这次列中的值不会被很好地排序: [2–9], [1–7], [3–8] 再试着查找 5: [2–9] — 可能在这里 [1–7] — 可能在这里 [3–8] — 可能在这里 索引是无用的

    2.8K40

    ClickHouse中的MergeTree表引擎和ReplacingMergeTree表引擎,在数据存储和查询方面的差异

    ReplacingMergeTree表引擎ReplacingMergeTree表引擎是基于MergeTree表引擎的一种扩展,它支持在插入数据时替换掉已经存在的相同主键的数据。...ReplacingMergeTree表引擎的主要特点如下:支持更新:当插入一条数据时,如果和已有数据的主键相同,替换掉已有的数据。...当插入新数据时,如果出现主键冲突,已有数据将会被替换。数据存储和查询差异MergeTree表引擎和ReplacingMergeTree表引擎的数据存储和查询方面的主要差异在于数据更新的处理方式。...对于MergeTree表引擎,更新数据时,会向表中插入新的数据行,而原有的数据行不会替换。这意味着MergeTree表引擎不支持直接更新已有的数据,而是在底层以插入新数据的方式实现更新。...对于ReplacingMergeTree表引擎,更新数据时,会替换已有的相同主键的数据行。这使得在实时数据流中进行数据更新变得更加方便,而无需手动进行插入和删除操作。

    63271
    领券