我试图使用Django编写一个浏览器游戏,但是我在如何存储游戏设置方面遇到了一些困难。例如,游戏是基于滴答声的,我想要存储当前滴答声。为了避免内置用户授权系统出现问题(例如,我不想说用户名X不可用,因为它已经在另一个游戏中使用),我决定每个数据库只有一个游戏。据我所知,我仍然需要将这些信息存储在数据库表中,但我不确定最佳方法是什么。我似乎有两个选择:
A)将游戏作为普通模型引用其他表(例如,我的用户档案),并忽略可能存在多个游戏的可能性。这意味着虽然可能会有两个游戏行,但如果有问题会很容易破坏。
B)我有一个模型,我总是假设它只有一个行,并存储游戏的所有配置数据。该模型仅包含静态方法,而其他模型没有对其的引用。例如:
A)将游戏作为普通模型引用其他表(例如,我的用户档案),并忽略可能存在多个游戏的可能性。这意味着虽然可能会有两个游戏行,但如果有问题会很容易破坏。
B)我有一个模型,我总是假设它只有一个行,并存储游戏的所有配置数据。该模型仅包含静态方法,而其他模型没有对其的引用。例如:
class Game(models.Model):
current_slot = models.PositiveIntegerField(default=0)
@staticmethod
def slots_per_day(self):
Genre.objects.get(id=1).current_slot
这两个选项都不太合适,但有人能告诉我哪一个更好吗?或者是否还有其他我没看到的选项?