zu bekommen habe ich eine Basisklasse Person
und abgeleiteten Klassen Manager
und Employee
. Nun möchte ich wissen, dass das Objekt Manager
oder Employee
erstellt wurde.wie von Basisklasse abgeleitete Klasse Name
Die Person als belows gegeben:
from Project.CMFCore.utils import getToolByName
schema = getattr(Person, 'schema', Schema(())).copy() + Schema((TextField('FirstName', required = True, widget = StringWidget(label='First Name', i18n_domain='project')), TextField('Last Name', required = True, widget = StringWidget(label='Last Name', i18n_domain='i5', label_msgid='label_pub_city'))
class Manager(BaseContent):
def get_name(self):
catalog = getToolByName(self, "portal_catalog")
people = catalog(portal_type='Person')
person={}
for object in people:
fname = object.firstName
lname = object.lastName
person['name'] = fname+' '+ lname
# if the derived class is Employee then i would like go to the method title of employee and if its a Manager then go to the title method of Manager
person['post'] = Employee/Manager.title()
return person
Für Geschäftsführer und Mitarbeiter sie wie sind (Mitarbeiter ist auch ähnlich, aber einige andere Methoden)
from Project.Person import Person
class Manager(Person):
def title(self):
return "Manager"
Für Mitarbeiter ist der Titel ‚Mitarbeiter‘ . Wenn ich ein Person
erstelle, ist es entweder Manager
oder das Employee
. Wenn ich das Person-Objekt erhalte, ist die Klasse Person, aber ich möchte wissen, ob sie aus der abgeleiteten Klasse "Manager" oder "Mitarbeiter" stammt.
Können Sie etwas Code aufstellen, der zeigt, was genau Sie tun möchten? – SuperSaiyan