簡體   English   中英

pyorient + Django:如何正確創建模型,以便序列化程序可以訪問它們?

[英]pyorient + Django : How should I create a model properly so that serializers can access them?

settings.py

from pyorient.ogm import declarative
Node = declarative.declarative_node()
Relationship = declarative.declarative_relationship()

車型/ user.py

from pyorient.ogm.property import *
from my_proj.settings import Node


class User(Node):
    email = String(unique=True)
    password = String()

串行器/ register_serializer.py

from rest_framework import serializers, validators
from users.models.user import User


class RegisterSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('email', 'password')

我得到以下異常

AttributeError: type object 'User' has no attribute '_meta

向模型添加屬性,

class User(Node):
    email = String(unique=True)
    password = String()

    @property def my_property(self): return "my property data"

然后使用serializers.Serializer而不是serializers.ModelSerializer作為,

class RegisterSerializer(serializers.Serializer):
    email = serializers.EmailField()
    password = serializers.CharField()
    my_property = serializers.CharField()


然后,您將獲得序列化數據,

user_obj = User.object.get(id=1)
reg_serializer = RegisterSerializer(user_obj)
serialized_data = reg_serializer.data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM