gpt4 book ai didi

python - 动态实例特定的 Django 字段创建

转载 作者:行者123 更新时间:2023-11-29 16:56:36 25 4
gpt4 key购买 nike

我遇到的情况是,用户模型可以有“X”个需要添加的唯一字段。这些字段需要对其运行查询,因此我不能只向其中添加包含 JSON 字符串的字段。例如,一个用户可能如下所示:

class User(models.Model):
name = models.CharField()
age = models.IntegerField()
sex = models.CharField()
profession = models.CharField()

下一个可能是:

class User(models.Model):
name = models.CharField()
age = models.IntegerField()
sex = models.CharField()
badge_number = models.IntegerField()

正如我上面所说,这些唯一字段必须是可查询的。帮助!!

最佳答案

如果您的意思不是 Django/DB 意义上的唯一,您可以尝试使用 postgres JSONField ,一个存储 JSON 且可查询的字段。

文档中的示例代码:

from django.contrib.postgres.fields import JSONField
from django.db import models

class Dog(models.Model):
name = models.CharField(max_length=200)
data = JSONField()

def __str__(self):
return self.name

以及查询:

>>> Dog.objects.create(name='Rufus', data={
... 'breed': 'labrador',
... 'owner': {
... 'name': 'Bob',
... 'other_pets': [{
... 'name': 'Fishy',
... }],
... },
... })
>>> Dog.objects.create(name='Meg', data={'breed': 'collie', 'owner': None})

>>> Dog.objects.filter(data__breed='collie')
<QuerySet [<Dog: Meg>]>

关于python - 动态实例特定的 Django 字段创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52527932/

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