Я не могу добавить новый элемент в базу данных. Выдается ошибка, что поле пользователь не добавлено. Я получаю сообщение об ошибке значение null в столбце user_id нарушает ограничение not-null Что значит? Как я могу решить эту проблему?
models.py
class Company(models.Model):
name = models.CharField(max_length=40, blank=True)
user = models.ForeignKey(User, verbose_name='User', on_delete=models.CASCADE) #models.IntegerField(blank=True)
...
serializers.py
class AccountSerializer(serializers.ModelSerializer):
user=serializers.StringRelatedField(read_only=False)
class Meta:
model=Account
fields='__all__'
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
def create(self, validated_data):
# address_data = validated_data.pop('address')
# address = Address.objects.create(**address_data)
# validated_data['address'] = address
user = User.objects.create(**validated_data)
class CompanySerializer(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
try:
if self.context['request'].method in ['GET']:
self.fields['members'] = serializers.SerializerMethodField()
except KeyError:
pass
class Meta:
model = Company
fields = '__all__' #('id', 'name', 'description', 'date_created', 'user', 'status', 'theme', 'members')
def get_members(self, obj):
accounts = Account.objects.filter(id__in=obj.members)
return AccountSerializer(accounts, many=True).data
class CompanyListSerializer(serializers.ModelSerializer):
# memb = serializers.ReadOnlyField(source='members.user')
class Meta:
model = Company
fields = '__all__'