Мне нужно создать метод обновления с пост-запросом. Но когда я это сделал, создайте другой объект.
это код Python с сервера для класса редактирования
def edit_schema(cls, admin: bool = False, cm: bool = False):
if cm:
return {
'id': {'type': 'number', 'min': 1},
'client': {'type': 'number', 'required': False, 'min': -1, 'forbidden': [0]},
'led_spec': {'type': 'string', 'required': False}
}
elif admin:
return {
'id': {'type': 'number', 'min': 1},
'client': {'type': 'number', 'required': False, 'dependencies': 'group', 'min': -1, 'forbidden': [0]},
'name': {'type': 'string', 'required': False, 'empty': False, 'maxlength': 255},
'led_spec': {'type': 'string', 'required': False}
# }
else:
return {
'id': {'type': 'number', 'min': 1},
'name': {'type': 'string', 'required': False, 'empty': False, 'maxlength': 255}
}
My service.ts
public update(fixture: Fixture){
let body = {};
if(fixture.name !== '' && fixture.name !== null)
body['name'] = fixture.name;
if(fixture.client !== -1 && fixture.client !== null)
body['client'] = fixture.client;
if(fixture.group !== -1 && fixture.group !== null)
body['group'] = fixture.group;
return this
.post('fixture/edit', body).toPromise().then(data => {
this._refreshNeeded$.next();
})
}
и мой компонент
update() {
if (this.form.valid) {
this.formSubmitAttempt = true;
this.fixtureService.update(this.form.value);
this.dialogRef.close(this.form.value);
console.log(this.form.value)// send updated value to main component
}
}
```