[Chore/Refactor] Native Support for Dataclasses Mapped as ORM Models #15971

Open
opened 2026-02-21 19:24:11 -05:00 by yindo · 1 comment
Owner

Originally created by @asukaminato0721 on GitHub (Aug 7, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for refactoring, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Description

continue of https://github.com/langgenius/dify/issues/22652

Motivation

https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html#native-support-for-dataclasses-mapped-as-orm-models

Additional Context

example #24999

Originally created by @asukaminato0721 on GitHub (Aug 7, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for refactoring, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Description continue of https://github.com/langgenius/dify/issues/22652 ### Motivation https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html#native-support-for-dataclasses-mapped-as-orm-models ### Additional Context example #24999
yindo added the 💪 enhancementgood first issue labels 2026-02-21 19:24:11 -05:00
Author
Owner

@asukaminato0721 commented on GitHub (Sep 25, 2025):

progress

grep --perl-regexp "class .*?\(Base\):" -r --exclude-dir=".venv" --exclude-dir="tests". | xargs -I {} printf "- [ ] %s\n" {} |  wl-copy
  • models/dataset.py:class Dataset(Base):
  • models/dataset.py:class DatasetProcessRule(Base): # bug
  • models/dataset.py:class Document(Base):
  • models/dataset.py:class DocumentSegment(Base):
  • models/dataset.py:class ChildChunk(Base):
  • models/dataset.py:class TidbAuthBinding(Base):
  • models/dataset.py:class SegmentAttachmentBinding(Base):
  • models/model.py:class App(Base):
  • models/model.py:class AppModelConfig(Base):
  • models/model.py:class Conversation(Base):
  • models/model.py:class Message(Base):
  • models/model.py:class MessageAnnotation(Base):
  • models/model.py:class AppAnnotationHitHistory(Base):
  • models/model.py:class Site(Base):
  • models/model.py:class ApiToken(Base): # bug: this uses setattr so idk the field.
  • models/model.py:class UploadFile(Base):
  • models/model.py:class TenantCreditPool(Base):
  • models/workflow.py:class Workflow(Base): # bug
  • models/workflow.py:class WorkflowRun(Base):
  • models/workflow.py:class WorkflowNodeExecutionModel(Base): # This model is expected to have offload_data preloaded in most cases.
  • models/workflow.py:class WorkflowNodeExecutionOffload(Base):
  • models/workflow.py:class WorkflowDraftVariable(Base):
  • models/workflow.py:class WorkflowDraftVariableFile(Base):
@asukaminato0721 commented on GitHub (Sep 25, 2025): progress ``` grep --perl-regexp "class .*?\(Base\):" -r --exclude-dir=".venv" --exclude-dir="tests". | xargs -I {} printf "- [ ] %s\n" {} | wl-copy ``` - [ ] models/dataset.py:class Dataset(Base): - [ ] models/dataset.py:class DatasetProcessRule(Base): # bug - [ ] models/dataset.py:class Document(Base): - [ ] models/dataset.py:class DocumentSegment(Base): - [ ] models/dataset.py:class ChildChunk(Base): - [ ] models/dataset.py:class TidbAuthBinding(Base): - [ ] models/dataset.py:class SegmentAttachmentBinding(Base): - [ ] models/model.py:class App(Base): - [ ] models/model.py:class AppModelConfig(Base): - [ ] models/model.py:class Conversation(Base): - [ ] models/model.py:class Message(Base): - [ ] models/model.py:class MessageAnnotation(Base): - [ ] models/model.py:class AppAnnotationHitHistory(Base): - [ ] models/model.py:class Site(Base): - [ ] models/model.py:class ApiToken(Base): # bug: this uses setattr so idk the field. - [ ] models/model.py:class UploadFile(Base): - [ ] models/model.py:class TenantCreditPool(Base): - [ ] models/workflow.py:class Workflow(Base): # bug - [ ] models/workflow.py:class WorkflowRun(Base): - [ ] models/workflow.py:class WorkflowNodeExecutionModel(Base): # This model is expected to have `offload_data` preloaded in most cases. - [ ] models/workflow.py:class WorkflowNodeExecutionOffload(Base): - [ ] models/workflow.py:class WorkflowDraftVariable(Base): - [ ] models/workflow.py:class WorkflowDraftVariableFile(Base):
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#15971