首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >djongo模型中的自动增量id字段(类似于djongo固有集合)

djongo模型中的自动增量id字段(类似于djongo固有集合)
EN

Stack Overflow用户
提问于 2022-03-31 12:15:45
回答 1查看 299关注 0票数 0

我正在尝试在djongo中创建用户配置文件集合。我尝试使用与djongo使用的模式相似的模式,方法是同时使用_id和id:

_id:624572c73e01156f0d2b7491编号:4

但是,我找不到如何做到这一点,因此,任何帮助都会得到很大的帮助。

我尝试了以下几点,但没有结果:

代码语言:javascript
复制
class Athlete(models.Model):

  # _id = models.ObjectIdField()
  # id = models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')
  # id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
  id = models.IntegerField(primary_key=True, auto_created=True, verbose_name='ID', editable=True, unique=True)
  first_name = models.CharField(max_length=30)
  last_name = models.CharField(max_length=50)
  user = models.OneToOneField(User, on_delete=models.CASCADE)

  def __str__(self) -> str:
    return f'{self.first_name} {self.last_name}'

  1. id = models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')

此选项导致数据库中根本没有id字段,只有_id。

  1. id = models.IntegerField(primary_key=True, auto_created=True, verbose_name='ID', editable=False, unique=True)

这导致了id=Null

  1. specifically将_id和id指定为ObjectIdField和AutoField

这导致只允许指定一个自动字段时出错。

  1. id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

由于uuid的字母数字性质,在解析反向url时,这会导致错误。

  1. 我看到了一种方法,指定如何在mongo中修改模式集合,将id和seq添加到auto对象中。这个想法很清楚,但我没有手动将字段添加到db集合中,至少在这种情况下,我看到了seq的进展,但仍然被程序忽略。
EN

回答 1

Stack Overflow用户

发布于 2022-04-03 14:45:44

绕过问题:

collection.

  • Added
  1. 重新创建了一个与原始模型相同的新模型,运行create迁移和迁移以创建集合并将新模型更新为admin.py,并验证其正确管理id字段(这一次确实)--输入模式,删除旧的集合条目,复制新条目--将名称修改为旧集合名称,并将自动字段中的seq编号复制到collection
  2. Now中最后一个项的id的索引中,通过顺序更新的automatically
  3. House清除删除所有临时模型和集合

,正确管理集合。

备注:我仍然不确定为什么首先会出现这个问题,以及为什么模式中的集合中的auto部分一开始不包括auto。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71692304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档