ประเภท Enum ใน python eve schema

ฉันเป็นมือสมัครเล่นในกรอบงาน Python Eve แต่ฉันใช้เพื่อวัตถุประสงค์ในการพัฒนา อย่างไรก็ตาม ฉันไม่รู้วิธีมีประเภทแจงนับในสคีมา ฉันหมายถึงไวยากรณ์ใน python Eve สำหรับประเภทข้อมูลนี้

แล้วฉันจะแสดงสิ่งนี้ใน python eve schema ได้อย่างไร?

"tts" : {"enum": ["show","hide"]},

ความช่วยเหลือใด ๆ ที่ชื่นชม


person Eswar    schedule 01.02.2019    source แหล่งที่มา


คำตอบ (2)


คุณกำลังมองหากฎ อนุญาต

"tts" : {"type": "string", "allowed": ["show", "hide"]}
person Pedro Rodrigues    schedule 23.03.2019
comment
ฉันคิดออกไม่นานหลังจากที่ฉันเขียนคำถาม แต่แล้วฉันก็ลืมเขียนคำตอบ แต่ก็ขอบคุณที่ยืนยันเหมือนกัน - person Eswar; 24.03.2019
comment
ใช่ ดีใจที่คุณทำ เอาไว้เป็นแนวทางให้ผู้อ่านในอนาคตได้ติดตามกันต่อไป - person Pedro Rodrigues; 24.03.2019

ฉันคิดว่าคุณสามารถใช้คุณสมบัติประเภทข้อมูลที่กำหนดเองใน Eve ได้ คุณสามารถเพิ่มประเภทข้อมูลใหม่ได้โดยเพิ่มวิธี _validate_type_<typename> ให้กับคลาสย่อยของคุณ พิจารณาตัวอย่างต่อไปนี้จากซอร์สโค้ดของ Eve

def _validate_type_objectid(self, value):
""" Enables validation for `objectid` schema attribute.

:param value: field value.
"""
if isinstance(value, ObjectId):
    return True

วิธีนี้จะเปิดใช้งานการรองรับประเภท MongoDB ObjectId ในสคีมาของคุณ โดยอนุญาตดังนี้:

'schema': {
   'owner': {
      'type': 'objectid',
      'required': True,
   },
}
person Saad    schedule 04.03.2019
comment
คุณได้ลองใช้ประเภท enum อื่นแล้วหรือยัง? ถ้าใช่ คุณช่วยโพสต์ตัวอย่างนั้นได้ไหม - person Eswar; 07.03.2019
comment
ไม่ ฉันยังไม่ได้ลองเลย ฉันเพิ่งได้อ่านมันในเอกสารประกอบ คุณสามารถถามเซอร์นิโคลาเรื่องนั้นได้เลย! - person Saad; 07.03.2019