Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
9070 Lượt xem

Must be some basic stuff, but I would like to know how I can sort projects by End Date. I have tried below in an addon module...

from openerp.osv import fields, osv
class project(osv.osv):
    _inherit = 'project.project'
    _name = 'project.project'
    _order = 'date'

And I get this error.

ProgrammingError: column "date" does not exist
LINE 1: ...0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) ORDER BY date

I realize that the original project class _inherits "account.analytic.account" which is where the End Date comes from. In such case how can we use a field that belong to the original model in sorting?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hello, I found the solution, here in project object , it inherits account.analytic.account object. and this 'date' field is made in account.analytic.account object. so we must have to use following method, Try this,

class project(osv.Model):
    _inherit = "project.project"
    _order = 'date2'
    _columns = {
        'date2': fields.related('analytic_account_id', 'date', string="End Date", type='date', store=True),
    }

and no need of _name = 'project.project' so,

remove

_name = 'project.project'

Hope it work for you.

Ảnh đại diện
Huỷ bỏ
Tác giả

I tried your edited content (just remove _name = 'project.project') but I still get the same error as in the original question ("ProgrammingError: column "date" does not exist")...

Hey Ypshi, see my updated answer. the problem was, date field is made in account.analytic.account object. so we can not order date field directly from project.

Hey Yoshi, Is your problem is solved?? if yes then please mark my answer as solved. Thanks.

Tác giả

I still get the error "ProgrammingError: column project_project.date does not exist". Something must be missing...

You must have to update your module. Go through Settings >> Modules >> Installed Modules. search your module and upgrade it.

Tác giả

I totally forgot to do that. It solved the problem. Then I got another problem of "End Date" being blank (thus the sorting didn't work), so I changed the field name to "date2" for the code to work. Thanks a lot for your advice!

please mark my answer as solved if your problem is solved. thanks.. :)

Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 2 24
12371
0
thg 12 24
9499
3
thg 9 24
21754
5
thg 12 24
53031
4
thg 7 24
10609