Django Rest / React NextJS - передача имени пользователя в html-форме обратно в БД в пост-запросе
Как можно передать имя пользователя в html-форме обратно в Django DB, при выполнении запроса post?
Я получаю следующую ошибку при отправке формы null value in column "owner_id" of relation "contracts_contract"
Как я могу настроить ее так, чтобы пост запрос сохранялся и владелец (имя пользователя) правильно фиксировался в пост запросе в django db
следующий файл js:
const PostRequest = () => {
const [name, setName] = useState('');
const handleSubmit = async (e) => {
e.preventDefault();
let body = {
owner_id: 1,
name: name,
}
axios.post("http://127.0.0.1:8000/contract/contract-create/", body).then(response => {
console.log(response)
})
};
return (
<form className='form' onSubmit={handleSubmit}>
<input
type='text'
className='form-input'
id='name'
value={name}
onChange={(e) => setName(e.target.value)}
/>
<button type='submit'>
submit
</button>
</form>
);
};
#Models.py
class Contract(models.Model):
owner = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
)
name = models.CharField(max_length=30)
#serializers.py
class ContractSerializer(serializers.ModelSerializer):
owner = serializers.ReadOnlyField(source='owner.username')
class Meta:
model = Contract
fields = '__all__'
@api_view(['POST'])
def contractCreate(request):
serializer = ContractSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
else:
print("data is invalid")
return Response(serializer.data)