Я использую Rest Framework.В моих моделях не отображается job_users
, что ManyToManyField
.И даже я хочу установить job_created_by
вручную, когда данные отправляются пользователем.И также установите Current DateTime для job_created_on
Когда я удаляю job_users = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
, это дает ошибку -
Ошибка типа в / api / jobs / add / str возвращено не-строка (тип NoneType)
class JobsAddAPIView(generics.CreateAPIView):
queryset = Jobs.objects.all()
serializer_class = JobAddSerialzer
permission_classes = [IsAuthenticated]
class JobAddSerialzer(serializers.ModelSerializer):
job_users = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
class Meta:
model = Jobs
fields = [
'job_name',
'job_number',
'job_description',
'job_start_date',
'job_start_time',
'job_end_date',
'job_end_time',
'job_group',
'job_users',
'job_status',
]
class Jobs(models.Model):
job_company = models.ForeignKey(Company, on_delete=models.CASCADE)
job_group = models.ForeignKey(Groups, on_delete=models.CASCADE)
job_users = models.ManyToManyField(User,related_name='job_users', blank=True)
job_name = models.CharField(max_length=30)
job_number = models.CharField(max_length=30)
job_description = models.CharField(max_length=100, blank=True, null=True)
job_start_date = models.DateField(blank=True, null=True)
job_start_time = models.TimeField(blank=True, null=True)
job_end_date = models.DateField(blank=True, null=True)
job_end_time = models.TimeField(blank=True, null=True)
job_created_on = models.DateTimeField(auto_now_add=True)
job_created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='job_created_bys')
job_updated_on = models.DateTimeField(auto_now=True)
job_updated_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='job_updated_bys')
job_is_deleted = models.BooleanField(default=False)
job_deleted_at = models.DateTimeField(blank=True, null=True)