私はdjangoモデルで保存しようとしている次のJSON応答を持っています。各賭けには、賭けられた多数のアイテムがあります。この場合には、当社のユーザーナイン 'は、2つの項目にベットを置くました:「いくつかのアイテム名」と「他の項目名」djangoモデルの正しい構造
{'bet_id' : 234442288
'user_id': 5554433
'user_name': 'Nine'
'item': [{'name': 'Some Item Name',
'item_id': 10,
'rarity': 'Common'},
{'name': 'Another Item Name',
'item_id': 19,
'rarity': 'Rare'}]
私は2つのモデル、賭けのための1、および項目のための1つを作成しました。
class Bet(models.Model):
bet_id = models.IntegerField()
user_id = models.IntegerField()
user_name = models.CharField(max_length=200)
class Item(models.Model):
bet = models.ForeignKey(Bet)
item_id = models.IntegerField()
name = models.CharField(max_length=200)
rarity = models.CharField(max_length=200)
目標は、どの項目を賭けており、合計で賭けてきたどのように多くの項目を知っている正確に誰が知っていることができるようにすることです。問題は、私は今多くの重複アイテムを保管しているということです。 Items.objects.all()は、例えば、['Some Item Name'、 'Some Item Name'、 'Another Item Name']を返します。これは非効率的な方法ですか、私のデータを保管していますか?もしそうなら、どうすれば改善できますか?あなたが繰り返し一定の期間にわたって賭けることになる同じ項目がありますことを前提とした場合に第二の懸念のためにあなたにThe goal is to be able to know exactly who has bet which items and to know how many items have been bet in total.
を引用する