Я использую Django + Angular 2 . Я создаю пользователя штраф, но он не имеет значения по умолчанию, я хочу ...Инициализировать пользователя django, чтобы он имел значения по умолчанию
Модель
class Settings(models.Model):
user = models.ForeignKey('auth.User', related_name='settings', on_delete=models.CASCADE)
bolean1 = models.BooleanField(default=False)
boolean2 = models.BooleanField(default=False)
boolean3 = models.BooleanField(default=False)
string1 = models.CharField(max_length=100, default='No description')
Serializer
class SettingsSerializer(serializers.ModelSerializer):
class Meta:
model = Settings
fields = ('id', 'bolean1', 'bolean1', 'bolean3', 'string1')
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'email', 'password' ,'settings', 'image')
extra_kwargs = {'password': {'write_only': True}}
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('email', 'username', 'password')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
user = User(
email=validated_data['email'],
username=validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
return user
Просмотров
class SettingsValues(generics.ListAPIView):
serializer_class = SettingsSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def get_queryset(self):
queryset = Settings.objects.all()
queryset = queryset.filter(user=self.request.user.id)
return queryset
class RegisterUser(generics.ListCreateAPIView):
queryset = User.objects.all()
serializer_class = CreateUserSerializer
Проблема в том, что когда я создаю нового пользователя, у него нет значений по умолчанию, например, boolean 1, boolean 2 и т. Д. Я должен перейти к django admin, чтобы создать новую настройку и выбрать пользователя.
Любая идея?
где можно добавить этот код? Я имею в виду models.py? –
Вы можете добавить его в любом месте, но большинство людей хранит его в отдельном файле signal.py. В вашем случае это может быть в том же модуле, где находится ваш models.py. Вы также должны добавить импорт в свой AppConfig, который я добавлю к моему ответу сейчас –
я создал файл сигналов.py и написал код внутри apps.py, но у меня есть ошибка import .signals ^ SyntaxError: недействительный синтаксис –