Cảm ơn bạn trước.
Những gì tôi có:
- Một mô-đun chứa danh sách các giá trị và mô tả của chúng.
- Một mô-đun chứa danh sách các chức năng và mô tả của chúng.
Tôi muốn làm:
Một mô-đun lớp trong đó người dùng có thể ghép một đặc tính với một giá trị trong bảng.
Mục tiêu cuối cùng thực sự là có một tính năng và tất cả các giá trị của tính năng đó trong cùng một hàng. Tôi không ngại chỉ nhận được một giá trị trên mỗi hàng và phải nhập cùng một tính năng nhiều lần cho mỗi giá trị.
Những gì tôi đã làm:
Tạo mô-đun thời gian có hai biến nhiều-một, một biến cho mỗi trường (một cho tính năng và một cho giá trị)
Tạo trường Many2many trong mô-đun lớp của tôi và hiển thị nó.
Những gì tôi nhận được:
tờ giấy:
Khi tôi nhấp vào "Thêm mục":
Những gì tôi biết:
Tôi nghĩ rằng tôi có thể dễ dàng thực hiện những gì tôi muốn, nhưng tôi đã thử sử dụng nó trong Chế độ xem của mình và nó không hoạt động.
我想知道:
Làm cách nào để có thể chỉnh sửa trường nhiều-nhiều như trong TreeView? Nghĩa là, khi tôi nhấp vào "Thêm mục", một hàng trống sẽ được thêm vào và sau đó người dùng có thể điền vào các trường trong khi vẫn ở dạng Xem biểu mẫu.
Nếu có thể, làm cách nào để đặt nhiều giá trị cho cùng một hàm?
Mã số:
lớp Lớp (models.Model):
_name = 'sync2ba.etim.classes'
name = field.Char(string="Title", bắt buộc=True)
code = field.Char(stCharring="Code")
phiên bản = field.Integer(string="Phiên bản")
mô tả = field.Char(string="Description")
featurecode = field.Char(string="FeatureCode")
trạng thái = field.Char(string="Status")
mã nhóm = field.Char(string="GroupCode")
mối quan hệ = field.Many2many("sync2ba.etim.relationships", string="Features")
Mối quan hệ lớp (models.Model):
_name = 'sync2ba.etim.relationships'
name = field.Char(string="Title", bắt buộc=True)
mối quan hệ_features = field.Many2one("sync2ba.etim.features", ondelete='set null', string="relationships_features", index=True)
mối quan hệ_value = field.Many2one("sync2ba.etim.values", ondelete='set null', string="relationships_value", index=True)
Tính năng lớp (models.Model):
_name = 'sync2ba.etim.features'
name = field.Char(string="Title", bắt buộc=True)
code = field.Char(string="Code")
mô tả = field.Char(string="Description")
gõ = field.Char(string="Type")
Giá trị lớp (model.Model):
_name = 'sync2ba.etim.values'
name = field.Char(string="Title", bắt buộc=True)
code = field.Char(string="Code")
mô tả = field.Char(string="Description")
Tôi không biết liệu nó có hoạt động hay không, tôi cần điều ngược lại với những gì bạn muốn cho trường one2many vì khi bạn nhấp vào thêm mục, trường one2many sẽ thêm một hàng trống.
theo ý kiến của bạn
Thay đổi hành vi của o2m thành m2m, hy vọng nó cũng phù hợp với bạn
biên tập:
Trước tiên, đừng quên làm cho TreeView của bạn có thể chỉnh sửa được, nó có thể hoạt động mà không cần thay đổi các tiện ích
danh sách các trường của bạn ở đây
Tôi đang sử dụng điện thoại di động, xin lỗi vì ít mã hơn
biên tập:
Nếu bạn không tìm thấy cách dễ dàng để thực hiện việc này, tất cả những gì bạn phải làm là trường many2many cuối cùng sẽ tạo bảng mối quan hệ giữa hai mô hình, chỉ cần tạo mối quan hệ dưới dạng mô hình và đặt hai trường many2one vào thay đổi mô hình của bạn trường many2many thành one2many sang mô hình mới và bạn đã làm được điều mà many2many đã làm. hy vọng bạn hiểu được ý tưởng
Tôi là một lập trình viên xuất sắc, rất giỏi!