Я использую базового пользователя Django Auth для работы с пользователем, и у меня работает аутентификация.Сейчас я пытаюсь создать метод Post для моего Rest API, который автоматически получает пользователя из запроса, затем получает все вводимые данные и сохраняет их.
Я пробовал различные попытки сериализации.У меня также это работало как простой веб-сайт Django, но теперь все становится интереснее, превращая его в API.
Вот моя модель:
class UserIncome(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
preTaxIncome = models.DecimalField(max_digits=15, decimal_places=2)
savingsRate = models.DecimalField(max_digits=3, decimal_places=2)
taxRate = models.DecimalField(max_digits=3, decimal_places=2)
Вот мой Serializer (Baseбез попыток создания внешнего ключа):
class UserIncomeSerializer(serializers.ModelSerializer):
class Meta:
model = models.UserIncome
fields = ('id', 'user', 'preTaxIncome', 'savingsRate', 'taxRate')
Вот представление (опять же, просто база. Нет попыток ввода внешнего ключа):
class UserIncomeList(APIView):
#List all snippets, or create a new snippet.
def get(self, request, format=None):
userIncome = models.UserIncome.objects.get(user=request.user)
serializer = Serializers.UserIncomeSerializer(userIncome, many=False)
return Response(serializer.data)
def post(self, request, format=None):
serializer = Serializers.UserIncomeSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Должен ли я просто сделатьвнешний ключ, идентификатор пользователя и что получить как-нибудь?Спасибо!