Merge pull request #85 from wahyd4/feature/invest-portfolio

fix: remove duplicate serializer classes causing 500 on Transaction API
This commit is contained in:
2026-04-28 14:17:12 +10:00
committed by GitHub
-50
View File
@@ -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()