Skip to content

Commit af2aefb

Browse files
committed
fix: budget model, id type
1 parent 3da3d4f commit af2aefb

File tree

4 files changed

+18
-13
lines changed

4 files changed

+18
-13
lines changed

Diff for: budget/migrations/0001_initial.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
# Generated by Django 5.0.6 on 2024-06-10 15:06
1+
# Generated by Django 5.0.6 on 2024-06-10 16:41
22

3-
import uuid
43
from django.db import migrations, models
54

65

76
class Migration(migrations.Migration):
87

98
initial = True
109

11-
dependencies = []
10+
dependencies = [
11+
]
1212

1313
operations = [
1414
migrations.CreateModel(
15-
name="Budget",
15+
name='Budget',
1616
fields=[
17-
("id", models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
18-
("username", models.UUIDField()),
19-
("amount", models.IntegerField()),
20-
("created_at", models.DateTimeField(auto_now_add=True)),
21-
("updated_at", models.DateTimeField(auto_now=True)),
17+
('id', models.AutoField(primary_key=True, serialize=False)),
18+
('username', models.UUIDField()),
19+
('amount', models.IntegerField()),
20+
('created_at', models.DateTimeField(auto_now_add=True)),
21+
('updated_at', models.DateTimeField(auto_now=True)),
2222
],
2323
),
2424
]

Diff for: budget/models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77
class Budget(models.Model):
8-
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
8+
id = models.AutoField(primary_key=True)
99
username = models.UUIDField()
1010
amount = models.IntegerField()
1111
created_at = models.DateTimeField(auto_now_add=True)

Diff for: budget/serializers.py

+5
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,8 @@ class BudgetSerializer(serializers.Serializer):
88

99
def create(self, validated_data):
1010
return Budget.objects.create(**validated_data)
11+
12+
def update(self, instance, validated_data):
13+
instance.amount = validated_data.get("amount", instance.amount)
14+
instance.save()
15+
return instance

Diff for: budget/views.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def get_user_id_from_token(self, request):
3030
def list(self, request):
3131
try:
3232
username = self.get_user_id_from_token(request)
33-
budget = Budget.objects.get(username=username)
33+
budget = Budget.objects.filter(username=username).order_by('-created_at').first()
3434
serializer = BudgetSerializer(budget)
3535
return Response(serializer.data)
3636
except Budget.DoesNotExist:
@@ -58,7 +58,7 @@ def create(self, request):
5858
def destroy(self, request):
5959
try:
6060
username = self.get_user_id_from_token(request)
61-
budget = Budget.objects.get(username=username)
61+
budget = Budget.objects.filter(username=username).order_by('-created_at').first()
6262
budget.delete()
6363
return Response(status=status.HTTP_204_NO_CONTENT)
6464
except Budget.DoesNotExist:
@@ -70,7 +70,7 @@ def destroy(self, request):
7070
def partial_update(self, request):
7171
try:
7272
username = self.get_user_id_from_token(request)
73-
budget = Budget.objects.get(username=username)
73+
budget = Budget.objects.filter(username=username).order_by('-created_at').first()
7474
serializer = BudgetSerializer(budget, data=request.data, partial=True)
7575
if serializer.is_valid():
7676
serializer.save()

0 commit comments

Comments
 (0)