python - Return information from dict -


i want save object minimum of code.

in views (need specific attributes):

my_obj = entry.create(name=my.name, ...) 

in models:

@classmethod def create(cls, **kwargs):     return cls(name=kwargs['name'], ...) 

is there way shorten code? provide examples.

you can make more generic with:

@classmethod def create(cls, **kwargs):     return cls(**{k: kwargs[k] kwargs.viewkeys() & cls._meta.get_all_field_names()}) 

which filters keyword arguments there fields.

or trust no keyword arguments passed in , use:

@classmethod def create(cls, **kwargs):     return cls(**kwargs) 

if wanted save newly-created object (my_obj.save()) use model.objects.create() method:

@classmethod def create(cls, **kwargs):     return cls.objects.create(**{k: kwargs[k] kwargs.viewkeys() & cls._meta.get_all_field_names()}) 

or unfiltered:

@classmethod def create(cls, **kwargs):     return cls.objects.create(**kwargs) 

Comments

Popular posts from this blog

Android layout hidden on keyboard show -

google app engine - 403 Forbidden POST - Flask WTForms -

c - Why would PK11_GenerateRandom() return an error -8023? -