Skip to content

Commit 3280f94

Browse files
committed
feat(data): add ItemPrice model and serializer for item pricing data
1 parent 5e1c604 commit 3280f94

File tree

4 files changed

+54
-0
lines changed

4 files changed

+54
-0
lines changed

data/v2/build.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,16 @@ def csv_record_to_objects(info):
544544

545545
build_generic((ItemGameIndex,), "item_game_indices.csv", csv_record_to_objects)
546546

547+
def csv_record_to_objects(info):
548+
yield ItemPrice(
549+
item_id=int(info[0]),
550+
version_group_id=int(info[1]),
551+
purchase_price=int(info[2]),
552+
sell_price=int(info[3]),
553+
)
554+
555+
build_generic((ItemPrice,), "item_prices.csv", csv_record_to_objects)
556+
547557
def csv_record_to_objects(info):
548558
yield ItemFlavorText(
549559
item_id=int(info[0]),

data/v2/csv/item_prices.csv

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
item_id,version_group_id,purchase_price,sell_price
2+
305,1,3000,1500
3+
305,2,3000,1500
4+
305,3,3000,1500
5+
305,4,3000,1500
6+
305,5,3000,1500
7+
305,6,3000,1500
8+
305,7,3000,1500
9+
305,8,10000,5000
10+
305,9,10000,5000
11+
305,10,10000,5000
12+
305,11,10000,5000
13+
305,12,3000,1500
14+
305,13,3000,1500
15+
305,14,10000,5000
16+
305,15,10000,5000
17+
305,16,10000,5000
18+
305,17,10000,5000
19+
305,18,10000,5000
20+
305,19,0,0
21+
305,20,3000,1500
22+
305,21,3000,1500
23+
305,22,3000,1500
24+
305,23,10000,5000
25+
305,25,50000,25000
26+
305,26,50000,25000
27+
305,27,50000,25000
28+
305,28,3000,1500
29+
305,29,3000,1500

pokemon_v2/models.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,11 @@ class ItemGameIndex(HasItem, HasGeneration, HasGameIndex):
885885
pass
886886

887887

888+
class ItemPrice(HasItem, HasVersionGroup):
889+
purchase_price = models.IntegerField()
890+
sell_price = models.IntegerField()
891+
892+
888893
class ItemSprites(HasItem):
889894
sprites = models.JSONField()
890895

pokemon_v2/serializers.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1806,6 +1806,14 @@ class Meta:
18061806
fields = ("game_index", "generation")
18071807

18081808

1809+
class ItemPriceSerializer(serializers.ModelSerializer):
1810+
version_group = VersionGroupSummarySerializer()
1811+
1812+
class Meta:
1813+
model = ItemPrice
1814+
fields = ("purchase_price", "sell_price", "version_group")
1815+
1816+
18091817
class ItemNameSerializer(serializers.ModelSerializer):
18101818
language = LanguageSummarySerializer()
18111819

@@ -1825,6 +1833,7 @@ class ItemDetailSerializer(serializers.ModelSerializer):
18251833
game_indices = ItemGameIndexSerializer(
18261834
many=True, read_only=True, source="itemgameindex"
18271835
)
1836+
prices = ItemPriceSerializer(many=True, read_only=True, source="itemprice")
18281837
effect_entries = ItemEffectTextSerializer(
18291838
many=True, read_only=True, source="itemeffecttext"
18301839
)
@@ -1852,6 +1861,7 @@ class Meta:
18521861
"effect_entries",
18531862
"flavor_text_entries",
18541863
"game_indices",
1864+
"prices",
18551865
"names",
18561866
"held_by_pokemon",
18571867
"sprites",

0 commit comments

Comments
 (0)