Обновлено перо с использованием большего количества CSS и без v-hover
: Codepen
(Первоначально я использовал v-hover, но для этого случая не нужен) Codepen [ 1112]
Мы будем управлять видимостью, используя следующий класс CSS:
.hidden {
visibility: hidden;
}
кнопка меню скрыта, если:
a) мы не наведем курсор на его родительский элемент. тайл или
б) при открытии соответствующего меню.
Итак, нам нужно настроить компонент пользовательского элемента (плитки):
Установить управление видимостью меню:
data: () => ({
menu: false, // control button-menu state (opened / closed)
})
И наш шаблон начинается с компонента v-hover
, поэтому мы можем определить, когда мы наводим на него курсор и реагируем на это событие:
// ...
:class="{hidden: !hover && !menu}"
- мы устанавливаем класс hidden
для кнопки, когда мы не наводим курсор на родительский тайл и когда соответствующее меню закрыто. [1118 ]
Чтобы получить значение поля:
getattr(obj, 'field_name')
Чтобы установить значение поля:
setattr(obj, 'field_name', 'field value')
Чтобы получить все поля и значения для объекта Django:
[(field.name, getattr(obj,field.name)) for field in obj._meta.fields]
Вы можете прочитать документация Model _meta API , которая действительно полезна.
зачем вам это?
Вы можете использовать
obj.__dict__['field']
, я думаю ... хотя это не вызов метода
changed=[field for (field,value) in newObj.__dict__ if oldObj.__dict__[field] != value]
даст вам список всех полей, которые были изменены.
(хотя я не уверен на 100%)