Create a Python User() class that both creates new users and modifies existing users
        Posted  
        
            by ensnare
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by ensnare
        
        
        
        Published on 2010-03-26T08:32:50Z
        Indexed on 
            2010/03/26
            8:43 UTC
        
        
        Read the original article
        Hit count: 467
        
I'm trying to figure out the best way to create a class that can modify and create new users all in one. This is what I'm thinking:
class User(object):
    def __init__(self,user_id):
      if user_id == -1
          self.new_user = True
      else:
          self.new_user = False
          #fetch all records from db about user_id
          self._populateUser() 
    def commit(self):
        if self.new_user:
            #Do INSERTs
        else:
            #Do UPDATEs
    def delete(self):
        if self.new_user == False:
            return False
        #Delete user code here
    def _populate(self):
        #Query self.user_id from database and
        #set all instance variables, e.g.
        #self.name = row['name']
    def getFullName(self):
        return self.name
#Create a new user
>>u = User()
>>u.name = 'Jason Martinez'
>>u.password = 'linebreak'
>>u.commit()
>>print u.getFullName()
>>Jason Martinez
#Update existing user
>>u = User(43)
>>u.name = 'New Name Here'
>>u.commit()
>>print u.getFullName()
>>New Name Here
Is this a logical and clean way to do this? Is there a better way?
Thanks.
© Stack Overflow or respective owner