Allow types contained by documents to serialize themselves
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách truy vết cách các giá trị DictProperty được tuần tự hóa và nơi ALLOWED_TYPES từ chối Animal. Xem lại hợp đồng được yêu cầu của to_json và from_json cùng ví dụ MyDoc.animals. Công việc được hoàn thành khi các đối tượng tùy chỉnh được chứa có thể được tuần tự hóa và giải tuần tự hóa thông qua các phương thức đó mà không biến Animal thành một mô hình CouchDB, đồng thời ngoại lệ hiện có không còn được phát sinh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
class MyDoc(Document):
animals = DictProperty()
class Animal(object):
def init():
self.name = "Joe"
self.age = 14
def to_json():
"""Code to serialize to json"""
def from_json:
"""Code to load from json"""
...
The animal class intentional is not a couchdb model and we don't want to tie it to couchdb. What we want is being able to have it automatically serialized and deserialized by couchdbkit calling these methods it implements. In this case the contract would be to_json and from_json.
doc = MyDoc()
doc.animals['horsea'] = Animal(...)
doc.animals['horseb'] = Animal(...)
doc.save()
Currently this will raise an exception saying that Animal is not in ALLOWED_TYPES.
- Ngôn ngữ chính
- Python
- Star
- 261
- Fork
- 90
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của benoitc/couchdbkit
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
benoitc/couchdbkit#181 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
benoitc/couchdbkit#196 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
benoitc/couchdbkit#194 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
benoitc/couchdbkit#193 · 2 bình luận · 1 reaction ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 48/100
benoitc/couchdbkit#192 ·
Tất cả issue của benoitc/couchdbkit
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
openvinotoolkit/openvino_notebooks#3858 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
hummingbot/hummingbot-api#256 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
-
area:other help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
WingedGuardian/GENesis-AGI#4734 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
peach-mitao/peach#693 ·
Maintainer thường phản hồi trong vòng 1 ngày