개체 ID 생성 자동화에 대해 읽었지만 여전히 잃어 버렸습니다 ... Algorias here의 위대한 예제를 중심으로 다음 코드를 기반으로했습니다.ID를 생성하는 클래스 만들기
나는 모든 새로운 ID 요청을위한 리소스 클래스입니다. 논리는 한 곳에서하는 경우가 ...
을 쉽게 관리 할 수 있어야한다는 것입니다하지만 난 주문의 인스턴스에 X를 설정에 도착했을 때 나는 다음과 같은 얻을 :
>>> x = Order()
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
x = Order()
File "C:\Python27\delete.py", line 17, in __init__
self.uid = Id_Class.new_id("Order")
TypeError: unbound method new_id() must be called with Id_Class instance as first argument (got str instance instead)
어떤 도움 대단히 감사하겠습니다.
import itertools
class Id_Class(object):
new_id = itertools.count(1000).next
order_id = itertools.count(1000).next
person_id= itertools.count(1000).next
def new_id(self, t): # t = type of id required
if t == "Order":
self.id = Id_Class.order_id()
elif t == "Person":
self.id = Id_Class.person_id()
class Order(object):
def __init__(self):
self.uid = Id_Class.new_id("Order")
self.cus='Test'
class Person(object):
pass
여전히 '없음'(분명히 의도하지 않은)을 반환하며 1 개의 인수만으로 호출되므로 잘못된 인수 번호로 호출되었으므로 예외가 발생합니다. – mgilson
Eric의 코드를 사용하는 경우에는 자신에게 id를 할당하지 말고 주문의 uid에 할당하므로 직접 반환하십시오. – Marconi
@Marconi - 또한'self' 매개 변수를 없애십시오 ... – mgilson