使用Django进行高级数据库查询

2024-06-25 23:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个名为“a”的数据库,这个数据库只有两个记录“name:Jhon”和“name:Sara”,我还有一个数据库“B”,其中有“Jhon”和“Sara”两个名字,我如何在数据库B中只搜索Jhon和Sara的名字?你知道吗

上下文:数据库A有特定的值,数据库B是用户生成的,我要做的是当用户生成的记录与数据库B的记录匹配时,给用户添加一些点,就像一个游戏什么的。你知道吗

我怎样才能做到这一点?你知道吗


Tags: 用户name数据库游戏记录名字sarajhon
2条回答

通常,django模型映射到单个数据库表。 模型的每个属性表示一个数据库字段。你知道吗

下面的示例retrieve a list中的名称从第一个Model(命名为“A”),然后searches转换为“B”,对于任何具有该列表的name属性in值的记录。你知道吗

names_to_search = A.objects.all().values_list('name', flat=True)
people = B.objects.filter(name__in=names_to_search)

我假设A和B都有一个名为name的字段。你知道吗

数据库有表,表有属性。 在本例中,有两个表A和B。 每个表都有“name”属性。你知道吗

我不明白你想做什么,但是如果你想用Django查询一个表

person = A.objects.get(name=myName)

如果你想知道Jhon是否在A表中

try:
    person = A.objects.get(name="Jhon")
    #Jhon exists.
except ObjectDoesNotExist:
    #Jhon does not exists.

相关问题 更多 >