当前位置: 首页 > 面试题库 >

在Django模型中存储列表的最有效方法是什么?

薛英卫
2023-03-14
问题内容

目前,我的代码中有很多类似于以下内容的python对象:

class MyClass():
  def __init__(self, name, friends):
      self.myName = name
      self.myFriends = [str(x) for x in friends]

现在,我想将其转换为Django模型,其中self.myName是字符串字段,而self.myFriends是字符串列表。

from django.db import models

class myDjangoModelClass():
    myName = models.CharField(max_length=64)
    myFriends = ??? # what goes here?

由于列表是python中如此常见的数据结构,因此,我希望其中有一个Django模型字段。我知道我可以使用ManyToMany或OneToMany关系,但是我希望避免代码中的额外间接访问。


问题答案:

将这种关系更好地表示为Friends表的一对多外键关系吗?我知道这myFriends只是字符串,但我认为更好的设计是创建一个Friend模型,并MyClass在结果表中包含外键。



 类似资料:
  • 问题内容: 我这样存储电话号码: 用户将输入电话号码,而我将使用该电话号码。此应用程序将在全球范围内使用。因此,我还需要国家代码。是存储电话号码的好方法吗?而且,我该如何验证电话号码? 问题答案: 你实际上可能会研究国际标准格式E.164,例如Twilio推荐的格式(该服务具有通过REST请求发送SMS或电话的服务和API)。 这可能是最普遍的电话号码存储方式,尤其是在你使用国际号码的情况下。 1

  • 在我的PostgreSQL中,我有两个表和tables,它们之间有 关系(一个 /code>可以有多个 )。 用户可以在棋盘上放几张牌。为了实现此功能,我通常会创建另一个名为< code>cards_on_hold的表,具有< code>OneToMany关系,并将保留卡id放入此表中。为了获取板的数据,我将使用< code>board和< code>cards_on_hold之间的JOIN。 P

  • 问题内容: 我有一个包含嵌套列表的列表,我需要知道在这些嵌套列表中搜索的最有效方法。 例如,如果我有 并且我必须搜索上面的整个列表,找到“ d”的最有效方法是什么? 问题答案: 使用列表推导,给出: 产量: 这也可以使用生成器来完成(如@AshwiniChaudhary所示) 根据以下评论进行更新: 这是相同的列表理解,但是使用了更具描述性的变量名: 列表理解部分中的循环构造等效于 并生成一个列表

  • 问题内容: 我正在设计一个相当复杂的数据库,并且知道我的某些查询将远远超出Django ORM的范围。有没有人成功地将SP与Django的ORM集成在一起?如果是这样,什么是RDBMS,您是如何做到的? 问题答案: 我们(musicpictures.com/eviscape.com)写下了django代码段,但并不是全部内容(实际上,该代码当时仅在Oracle上进行了测试)。 当您要重用经过测试的

  • 我有一个游戏,在MySQL数据库中存储boss在简单模式和硬模式下的杀人记录。有14个老板。我想存储一个球员杀死一个老板的次数和难度。我有几个选择,我可以看到。。 为每个boss以及每个难度在表中创建一个单独的列。例如。 创建两个存储数字序列的字段,这些数字可以稍后提取出来,以便在PHP中进行比较。其中easykills是一个由28个字符组成的字符串,每2个字符就有一个计数器,用于计算boss被杀