0

それで、私はこのトピックを見つけました:姓、名、ミドルネームを分離する(Python)、そしてOpenERPのニーズにコードを適応させようとしました。

私は現在これを持っています:

class get_the_name(object):
            def __init__(self, fullname):
                self.full = fullname
                s = self.full.split()

                try:
                    self.first = " ".join(s[:2]) if len(s[0]) == 1 else s[0]
                    s = s[len(self.first.split()):]

                    self.middle = " ".join(s[:2]) if len(s[0]) == 1 else s[0]
                    s = s[len(self.middle.split()):]

                    self.last = " ".join(s[:2]) if len(s[0]) == 1 else s[0]
                finally:
                    pass
class class_A(osv.osv):

    _name = 'classA.classA'
    _rec_name = 'name_of'
    _columns = {
        'name_of':fields.char('Name:', size = 10),
            'description_':fields.char('Description:', size = 10),
            'first_last':fields.function(get_the_name("Just testing this").first, method = True, string = "Split Name", type = "char", size = 50),
    }
class_A()

これは私にエラーメッセージを与えていますが:

AttributeError: 'str' オブジェクトに属性 'func_name' がありません

たとえ話があったとしても、私はこのようにしたくありません。関数の代わりに:

'first_last':fields.function(get_the_name("Just testing this").first, method = True, string = "Split Name", type = "char", size = 50),

私はそれが欲しい:

'first_last':fields.function(get_the_name(name_of).first, method = True, string = "Split Name", type = "char", size = 50),

どうすればこれを達成できますか?

4

0 に答える 0