我需要按照以下
创建业务逻辑模型
class Student(models.Model):
name = models.CharField(max_length=255)
sex = models.CharField(choices=GENDER_CHOICES, max_length=255)
category = models.CharField(max_length=255, default='')
objects = StudentManager()
def __str__(self):
return self.name
class RegistrationNumber(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE,
related_name='registration_number', null=True)
registration_number = models.CharField(max_length=255)
year_of_registration = models.IntegerField(null=True)
def __str__(self):
return self.registration_number
串行
class AcademicMigrateSerializer(serializers.Serializer):
name = serializers.CharField()
registration_number = serializers.CharField()
def create(self, validated_data):
name = validated_data.get('name')
registration_number = validated_data.get('registration_number')
try:
registration = RegistrationNumber.objects.get(
registration_number=registration_number)
except ObjectDoesNotExist:
registration = RegistrationNumber.objects.create(
registration_number=registration_number,
student=student
)
print("registration number doesnot exist")
return student
视图
class AcademicMigrateCreateAPIView(CreateAPIView):
serializer_class = AcademicMigrateSerializer
答案 0 :(得分:2)
答案 1 :(得分:0)
我认为最好提供终端错误。 但是,您可能会遇到这样的错误的原因可能是您的服务器正在错误端口上与postgres服务器通信。默认情况下,odoo通过5432连接到postgres。
答案 2 :(得分:0)
如果错误是在安装时出现的,那么问题越有可能是问题,最好是卸载Odoo和Postgres,删除保留在C:中的结果文件。
非常重要:输入注册表编辑器Win + R:regedit [HKLM \ Software \ PostgreSQL]并删除所有引用Postgres的条目
PS:在x64系统上使用regedit,这些密钥位于HKLM \ Software \ Wow6432Node下,这是映射到HKLM \ Software的64位计算机上运行的32位进程的“反射密钥”。可以手动将其忽略,除非手动查看/编辑注册表。安装程序将以32位运行,因此可以在正常位置找到它们。