У меня есть две модели, которые относятся к forignkey.
class BikeModel(models.Model):
City = models.ForeignKey(CityForBike, on_delete=models.CASCADE)
BikeModels = models.CharField(default='', max_length=50)
Image = models.ImageField(upload_to='bike_images', blank=True, null=True, default='https://www.urbandrive.co.in/Admin/API/UploadedFiles/CarImage/44b150b3-f61a-41b5-afd8-34ded18fa980.png')
class Meta:
verbose_name_plural = 'BikeModels'
def __str__(self):
return self.BikeModels
class CityForBike(models.Model):
CityForCars = models.CharField(default="",max_length=50)
class Meta:
verbose_name_plural = 'CityForBikes'
def __str__(self):
return self.CityForCars
и я хочу вставить данные в BikeModel.но это дает мне ошибку.
AssertionError: You cannot call `.save()` on a serializer with invalid data.
Я хочу знать, как вставить данные в поле forign key.
if request.method == 'POST':
import pdb;
pdb.set_trace()
input_data = json.loads(request.read().decode('utf-8'))
print(input_data)
serializer = serializers.BikeModelSerializer(data=input_data)
if serializer.is_valid():
serializer.save()
return render(request, "bike_model_add.html", {'car_city': car_city}, status=200)
И это данные, которые я отправляю.
{'City': 'testo', 'BikeModels': 'ds'}
это мои сериализаторы
class CityForBikeSerializer(serializers.ModelSerializer):
class Meta:
model = models.CityForBike
fields = '__all__'
class BikeModelSerializer(serializers.ModelSerializer):
class Meta:
model = models.BikeModel
fields = '__all__'