mirror of
https://github.com/wahyd4/links.git
synced 2026-08-08 21:04:53 +10:00
Merge pull request #85 from wahyd4/feature/invest-portfolio
fix: remove duplicate serializer classes causing 500 on Transaction API
This commit is contained in:
@@ -58,40 +58,6 @@ class AIUpdateSerializer(serializers.Serializer):
|
||||
|
||||
|
||||
|
||||
class TransactionSerializer(serializers.ModelSerializer):
|
||||
action_display = serializers.CharField(source='get_action_display', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Transaction
|
||||
fields = [
|
||||
'id', 'portfolio', 'action', 'action_display',
|
||||
'stock_code', 'quantity', 'price_per_share', 'date',
|
||||
'created_at',
|
||||
]
|
||||
read_only_fields = ['id', 'created_at']
|
||||
|
||||
|
||||
class PortfolioSerializer(serializers.ModelSerializer):
|
||||
stocks = StockSerializer(many=True, read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Portfolio
|
||||
fields = ['id', 'name', 'created_at', 'stocks']
|
||||
read_only_fields = ['id', 'created_at']
|
||||
|
||||
|
||||
class PortfolioListSerializer(serializers.ModelSerializer):
|
||||
stock_count = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Portfolio
|
||||
fields = ['id', 'name', 'created_at', 'stock_count']
|
||||
read_only_fields = ['id', 'created_at']
|
||||
|
||||
def get_stock_count(self, obj):
|
||||
return obj.stocks.count()
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------+
|
||||
# Holdings (with real-time prices) |
|
||||
# -------------------------------------------------------------------------+
|
||||
@@ -116,22 +82,6 @@ class PortfolioHoldingsSerializer(serializers.Serializer):
|
||||
total_pnl_pct = serializers.FloatField()
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------+
|
||||
# AI Update |
|
||||
# -------------------------------------------------------------------------+
|
||||
|
||||
class AIHoldingInputSerializer(serializers.Serializer):
|
||||
stock_code = serializers.CharField()
|
||||
quantity = serializers.FloatField()
|
||||
avg_cost = serializers.FloatField(required=False, default=0.0)
|
||||
|
||||
|
||||
class AIUpdateSerializer(serializers.Serializer):
|
||||
portfolio_id = serializers.IntegerField()
|
||||
holdings = AIHoldingInputSerializer(many=True)
|
||||
reset = serializers.BooleanField(default=False)
|
||||
|
||||
|
||||
class AIUpdateResultSerializer(serializers.Serializer):
|
||||
stock_code = serializers.CharField()
|
||||
quantity = serializers.FloatField()
|
||||
|
||||
Reference in New Issue
Block a user