def _conv_into_dict(self): if not self.model: return _advuser = self.model dict_model = {} tmp_dict_advuser = spr_fields_models.get_list_fields('advuser', exclude='advData') keys_tmp_dict = tuple(tmp_dict_advuser.keys()) for key in keys_tmp_dict: if hasattr(_advuser, key): val = getattr(_advuser, key) if key == 'status': val = val.pk dict_model.update({key: val}) # Результирующий dict из объединения ext_dict.dict and tmp_dict_advuser Ext_dict.modifyTmplDict_byExt_dict(tmp_dict_advuser, dict_model) self.dict = tmp_dict_advuser # Выборка данных из advData dict_advData = initDict_from_advData(_advuser.advData, _advuser.status) self.dict.update(dict_advData)
def update_user(cls, user, arg_dict, commit=True): from app.models import spr_fields_models res = Res_proc(res=False) # Блок заполнения полей User для существующего пользователя if not isinstance(user, User): user = getUser(user) if user is None: res.error = 'ValueError##modify_models.Modify_user.update_user user Нет данных для логина стр.213' return res # Заполнение списка полей, используемых для этой модели arg_dict['list_fieldsModel'] = spr_fields_models.get_list_fields( 'user', onlyKeys=True) init_user = Init_model(user, arg_dict) res.res_model = user if commit: try: user.save(force_update=True) res.mes = 'Выполнено обновление модели User' res.res = True except Exception as ex: res.error = ex return res else: res.mes = 'Заполнены данные для модели User' res.res = True return res
def add_user(cls, arg_dict: dict): if not isinstance(arg_dict, dict): raise ValueError('arg_dict не соответствие типа') res = Res_proc() ext_dict = Ext_dict(arg_dict) tmp_dict = spr_fields_models.get_list_fields('user') ext_dict.modifyExtDict_bySelf_dict(tmp_dict) tmp_dict.update(dict(password=ext_dict.get_val('password'))) user = CreateUser_ext.create_user( username=tmp_dict['username'], email=tmp_dict['email'] if tmp_dict['email'] != 'empty' else None, password=tmp_dict['password']) user.first_name = tmp_dict['first_name'] user.last_name = tmp_dict['last_name'] res.res_model = user try: user.save() res.mes = 'Создан профиль участника проекта' res.res = True return res except Exception as ex: res.error = ex return res
def add_advuser(user, arg_dict, commit=True): res = Res_proc(res=False) if not isinstance(user, User): raise ValueError('Отсутствует аргумент User') advuser = None advData = None advuser = AdvUser() advuser.user = user # Заполнение списка полей, используемых для этой модели arg_dict['list_fieldsModel'] = spr_fields_models.get_list_fields( 'advuser', onlyKeys=True, exclude='advData') init_advUser = Init_model(advuser, arg_dict) res.res_model = advuser if commit: try: advuser.save() res.mes = 'Создана модель AdvUser' res.res = True return res except Exception as ex: res.error = ex return res else: res.mes = 'Заполнены данные для профиля' res.res = True return res
def _conv_into_dict(self): tmp_dict = spr_fields_models.get_list_fields('user') _user = self.model _dict = {} _dict.update(dict(user_id=_user.pk, full_name=_user.get_full_name())) for key in tmp_dict.keys(): if hasattr(_user, key): val = getattr(_user, key) _dict.update({key: val}) # Заполнение tmp_dict данными из _dict # здесь же будут произведены все преобразования as default Ext_dict.modifyTmplDict_byExt_dict(tmp_dict, _dict) self.dict = tmp_dict
def update_advuser(user, arg_dict, commit=True): res = Res_proc(res=False) advuser = None advData = None advuser = AdvUser.get_advUser(user) if advuser is None: res.error = 'ValueError##modify_models.Modify_advuser.update_advuser: Нет данных в AdvUser стр.150' return res # Заполнение списка полей, используемых для этой модели arg_dict['list_fieldsModel'] = spr_fields_models.get_list_fields( 'advuser', onlyKeys=True, exclude='advData') for key, val in arg_dict.items(): if val == res.PR_empty: arg_dict[key] = None init_advUser = Init_model(advuser, arg_dict) res.res_model = advuser if commit: try: advuser.save() res.mes = 'Выполнено обновление модели AdvUser' res.res = True except Exception as ex: res.error = ex return res else: res.mes = 'Заполнены данные для профиля' res.res = True return res