Django,射箭系统
Django, Archery System
这更像是一个指导请求,而不是任何硬编码示例。
我给自己定了一个问题,要用 Django 写一个射箭记录系统。
我的记录系统运行良好,系统可以注册用户、记录他们的分数、显示他们按回合过滤的分数、显示射击特定回合的用户分数等。
我遇到的这个问题是关于class确定分数的。
我来解释一下:
- 在射箭中,分数是根据你射出的回合来记录的。这些各不相同,因此您有 60 多轮可供选择,每轮都有不同的标准和不同的最高分数。
- 弓箭手按性别和年龄分组(10个子组)
- 弓箭手射出 3 种不同弓型中的一种
- class化系统的工作原理是采用圆射和弓箭手所属的子组以及使用的弓型,并查看 table 值。得到的class化就是分数落入的化,即
- 如果您是男性且年满 18 岁,您将被归为 'Gentleman'
- 你用反曲弓射出的子弹称为 'York',你得分 550
- 您要咨询的 table 看起来像这样
圆形 |第三 Class |第二 Class |第一 Class |鲍曼 |鲍曼大师 |弓箭大师
York 283 511 698 913 1065 1146
在这种情况下,class化 returned 将是第二个 Class。
table 的范围很广,因为初级女士可以打同一轮,但要达到类似的 class 化,她们需要的分数会有所不同。
我的问题是这种查找可以在 django 中完成吗?
我有一个 Scores table,它收集回合的名称和该回合的最高得分以及弓箭手射击的组。我创建了一个索引来唯一标识这些变量作为绅士射击约克只能有一个 class 化集。我想做的是查找适当的 classification table 和 return classification 值并将其存储在回合得分记录中。
这是我的分数模型:
class得分(models.Model):
BOW_TYPE = (
('R', 'Recurve',),
('C', 'Compound',),
('L', 'Longbow',),
)
archer = models.ForeignKey('User', related_name='scores', on_delete=models.CASCADE)
rndname = models.ForeignKey('Round', related_name='round', verbose_name=("Round Name"), on_delete=models.CASCADE)
shootingas = models.ForeignKey('Age', related_name='shootingas', verbose_name='Shooting as', on_delete=models.CASCADE)
bowtype = models.CharField(max_length=1, verbose_name=("Bow Type"), choices=BOW_TYPE)
score = models.IntegerField(default='')
dateshot = models.DateField(verbose_name="Date Round Shot", default=timezone.now)
created_date = models.DateTimeField(default=timezone.now)
classindex = models.CharField(max_length =5, default='')
def index(self):
return str(self.shootingas_id) + str(self.rndname_id) + str(self.bowtype)
index = property(index)
def save(self, *args, **kwargs):
self.classindex = self.index
super(Score, self).save(*args, **kwargs)
def __str__(self):
return str(self.archer) + ' | ' + str(self.score) + ' | ' + str(self.rndname) + ' | ' + str(self.created_date) + ' | ' + str(self.classindex)
Class化 table 看起来像这样:
class Classification(models.Model):
shootingas = models.ForeignKey('Age', related_name='shooting', on_delete=models.CASCADE)
roundname = models.ForeignKey('Round', related_name='rounds', on_delete=models.CASCADE)
bowtype = models.ForeignKey("BowType", verbose_name='bows', default=1, on_delete=models.CASCADE)
third = models.IntegerField(default='', verbose_name="3rd Class Bowman", null=True, blank=True)
second = models.IntegerField(default='', verbose_name="2nd Class Bowman", null=True, blank=True)
first = models.IntegerField(default='', verbose_name="1st Class Bowman", null=True, blank=True)
BM = models.IntegerField(default='', verbose_name="Bowman", null=True, blank=True)
MB = models.IntegerField(default='', verbose_name="Master Bowman", null=True, blank=True)
GMB = models.IntegerField(default='', verbose_name="Grand Master Bowman", null=True, blank=True)
classindex = models.CharField(max_length=5)
def index(self):
return str(self.shootingas_id) + str(self.roundname_id) + str(self.bowtype.id)
index = property(index)
def save(self, *args, **kwargs):
self.classindex = self.index
super(Classification, self).save(*args, **kwargs)
def __str__(self):
return str(self.index)
我需要一种在 table 中使用 class 索引作为 link 的方法,以便可以将分数与 Class 中的值进行比较ification table 和相应的 classification 值,第三,第二等,可以 return 进入分数 table
我意识到这有点令人费解,但我真的很想得到一些关于我可以从哪里开始寻找解决方法的指示。
如果您需要任何其他信息,请告诉我。
谢谢
这在 Django 中是可能的。似乎您正在寻求一种存储这些独特计分表的好方法,以便与弓箭手的分数进行比较。否则,如果逻辑足够,你当然可以class将弓箭手和分数确定为某个class。
Django 模型是 SQL 字段的表示。这是存储评分表的好方法,但是在存储数据方面您有很多选择。
这更像是一个指导请求,而不是任何硬编码示例。 我给自己定了一个问题,要用 Django 写一个射箭记录系统。 我的记录系统运行良好,系统可以注册用户、记录他们的分数、显示他们按回合过滤的分数、显示射击特定回合的用户分数等。 我遇到的这个问题是关于class确定分数的。 我来解释一下:
- 在射箭中,分数是根据你射出的回合来记录的。这些各不相同,因此您有 60 多轮可供选择,每轮都有不同的标准和不同的最高分数。
- 弓箭手按性别和年龄分组(10个子组)
- 弓箭手射出 3 种不同弓型中的一种
- class化系统的工作原理是采用圆射和弓箭手所属的子组以及使用的弓型,并查看 table 值。得到的class化就是分数落入的化,即
- 如果您是男性且年满 18 岁,您将被归为 'Gentleman'
- 你用反曲弓射出的子弹称为 'York',你得分 550
- 您要咨询的 table 看起来像这样
York 283 511 698 913 1065 1146
在这种情况下,class化 returned 将是第二个 Class。 table 的范围很广,因为初级女士可以打同一轮,但要达到类似的 class 化,她们需要的分数会有所不同。
我的问题是这种查找可以在 django 中完成吗?
我有一个 Scores table,它收集回合的名称和该回合的最高得分以及弓箭手射击的组。我创建了一个索引来唯一标识这些变量作为绅士射击约克只能有一个 class 化集。我想做的是查找适当的 classification table 和 return classification 值并将其存储在回合得分记录中。
这是我的分数模型: class得分(models.Model):
BOW_TYPE = (
('R', 'Recurve',),
('C', 'Compound',),
('L', 'Longbow',),
)
archer = models.ForeignKey('User', related_name='scores', on_delete=models.CASCADE)
rndname = models.ForeignKey('Round', related_name='round', verbose_name=("Round Name"), on_delete=models.CASCADE)
shootingas = models.ForeignKey('Age', related_name='shootingas', verbose_name='Shooting as', on_delete=models.CASCADE)
bowtype = models.CharField(max_length=1, verbose_name=("Bow Type"), choices=BOW_TYPE)
score = models.IntegerField(default='')
dateshot = models.DateField(verbose_name="Date Round Shot", default=timezone.now)
created_date = models.DateTimeField(default=timezone.now)
classindex = models.CharField(max_length =5, default='')
def index(self):
return str(self.shootingas_id) + str(self.rndname_id) + str(self.bowtype)
index = property(index)
def save(self, *args, **kwargs):
self.classindex = self.index
super(Score, self).save(*args, **kwargs)
def __str__(self):
return str(self.archer) + ' | ' + str(self.score) + ' | ' + str(self.rndname) + ' | ' + str(self.created_date) + ' | ' + str(self.classindex)
Class化 table 看起来像这样:
class Classification(models.Model):
shootingas = models.ForeignKey('Age', related_name='shooting', on_delete=models.CASCADE)
roundname = models.ForeignKey('Round', related_name='rounds', on_delete=models.CASCADE)
bowtype = models.ForeignKey("BowType", verbose_name='bows', default=1, on_delete=models.CASCADE)
third = models.IntegerField(default='', verbose_name="3rd Class Bowman", null=True, blank=True)
second = models.IntegerField(default='', verbose_name="2nd Class Bowman", null=True, blank=True)
first = models.IntegerField(default='', verbose_name="1st Class Bowman", null=True, blank=True)
BM = models.IntegerField(default='', verbose_name="Bowman", null=True, blank=True)
MB = models.IntegerField(default='', verbose_name="Master Bowman", null=True, blank=True)
GMB = models.IntegerField(default='', verbose_name="Grand Master Bowman", null=True, blank=True)
classindex = models.CharField(max_length=5)
def index(self):
return str(self.shootingas_id) + str(self.roundname_id) + str(self.bowtype.id)
index = property(index)
def save(self, *args, **kwargs):
self.classindex = self.index
super(Classification, self).save(*args, **kwargs)
def __str__(self):
return str(self.index)
我需要一种在 table 中使用 class 索引作为 link 的方法,以便可以将分数与 Class 中的值进行比较ification table 和相应的 classification 值,第三,第二等,可以 return 进入分数 table
我意识到这有点令人费解,但我真的很想得到一些关于我可以从哪里开始寻找解决方法的指示。
如果您需要任何其他信息,请告诉我。
谢谢
这在 Django 中是可能的。似乎您正在寻求一种存储这些独特计分表的好方法,以便与弓箭手的分数进行比较。否则,如果逻辑足够,你当然可以class将弓箭手和分数确定为某个class。
Django 模型是 SQL 字段的表示。这是存储评分表的好方法,但是在存储数据方面您有很多选择。