我希望在我的web应用程序中使用djangoapirest框架,但在我的项目中遇到了一个问题。在
在我的应用程序中,我填写了一个Django表单,以便在数据库中注册一个新用户。在
我的模型看起来像:
class Individu(models.Model):
NumeroIdentification = models.CharField(max_length=30, null=True, verbose_name='Numero Identification physique', unique=True)
Civilite = models.CharField(max_length=12,choices=CHOIX_TITRE, verbose_name='Civilité')
NomJeuneFille = models.CharField(max_length=30, verbose_name='Nom de jeune fille', blank=True)
Nom = models.CharField(max_length=30, verbose_name='Nom de famille')
Prenom = models.CharField(max_length=30, verbose_name='Prénom(s)')
Sexe = models.CharField(max_length=30, choices=CHOIX_SEXE, verbose_name='Sexe')
Statut = models.CharField(max_length=30, choices=CHOIX_STATUT, verbose_name="Statut civil")
DateNaissance = models.DateField(verbose_name='Date de naissance')
VilleNaissance = models.CharField(max_length=30, verbose_name='Ville de naissance')
PaysNaissance = CountryField(blank_label='Sélectionner un pays', verbose_name='Pays de naissance')
...
字段NumeroIdentification
是Null
,但是当我提交表单并被重定向到下一个模板时,我有以下函数:
现在我尝试在我的API REST中实现这个函数。在
我有一个名为serializer.py
的文件:
class IndividuCreateSerializer(serializers.ModelSerializer) :
class Meta :
model = Individu
fields = [
#'id',
#'NumeroIdentification',
'Civilite',
'Nom',
'Prenom',
'Sexe',
'Statut',
'DateNaissance',
'VilleNaissance',
'PaysNaissance',
'Nationalite1',
'Nationalite2',
'Profession',
'Adresse',
'Ville',
'Zip',
'Pays',
'Mail',
'Telephone',
#'Creation',
#'InformationsInstitution',
#'Utilisateur',
'Etat',
#'Image',
#'CarteIdentite',
]
和api.views.py
文件:
from rest_framework.generics import (
CreateAPIView,
UpdateAPIView,
DestroyAPIView,
ListAPIView,
RetrieveAPIView,
)
from Identity.models import Individu
from .serializers import IndividuSerializer, IndividuCreateSerializer
class IndividuListAPIView(ListAPIView) :
queryset = Individu.objects.all()
serializer_class = IndividuSerializer
class IndividuCreateAPIView(CreateAPIView) :
queryset = Individu.objects.all()
serializer_class = IndividuCreateSerializer
class IndividuDetailAPIView(RetrieveAPIView):
queryset = Individu.objects.all()
serializer_class = IndividuSerializer
class IndividuUpdateAPIView(UpdateAPIView) :
queryset = Individu.objects.all()
serializer_class = IndividuSerializer
class IndividuDeleteAPIView(DestroyAPIView) :
queryset = Individu.objects.all()
serializer_class = IndividuSerializer
如何在我的API中添加关于NumeroIdentification
生成器的部分(我的软件中的Identity_Individu\u Resume)?在
您可以为此重写
IndividuCreateSerializer
的create
方法:请注意,在我的示例中,您将直接将Individu对象传递给
Identity_Individu_Resume
函数,因此您需要对Identity_Individu_Resume
函数进行一些修改。在您可以尝试使用serializermethodfield
相关问题 更多 >
编程相关推荐