Введите about:debugging#workers
в строке Firefox. Найдите сервисного работника для localhost и нажмите unregister
. Это должно помочь, если это действительно остаток.
Что это?
Здесь вы можете прочитать о Service Workers, это не имеет никакого отношения к django или bootstrap. Насколько я знаю, у Bootstrap нет обслуживающего персонала.
С прагматической точки зрения можно сделать вычисленные поля на базе данных, если все столбцы, необходимые для вычисления, живого на той же таблице - вычисленные поля, могут только работать от единственной записи. Большинство современных платформ DBMS имеет некоторую поддержку этой функции.
С теоретической точки зрения Вы входите в Семантическое Моделирование данных. Лучшей статьей об этом является Hammer и MacLeods Ruritanian Oil Tankers
бумага, которая описывает семантическую нотацию моделирования данных образно под названием SDM. SDM использует структурированную английскую нотацию типа для повышения правил базы данных вида, который Вы описываете. Если бы Вы хотели обобщить свою возможность и не возражали писать синтаксический анализатор для SDM, то Вы могли сделать механизм правила, где этот вид логики мог быть настроен. Этот тип модели должно также быть возможно адаптировать для проигрывания приятно с картопостроителем O/R.
На минус сторона, делая этот вид инструмента было бы довольно трудоемким, таким образом, это только стоило бы сделать, если бы Ваше требование для руководящей семантики данных было очень большим. Для примера Вы цитируете его, удобно вписался бы в области излишества, но если Ваша проблема намного больше, могло бы стоить создать что-то вроде этого. Если бы Вы не хотели писать синтаксический анализатор, то Вы могли бы сделать XML-схему для повышения подобного SDM языка.
Управление вложением/скобками может стать довольно сложным и подверженным ошибкам. Путем я сделал, это в прошлом должно использовать XML для определения логики, поскольку это обрабатывает вложение очень хорошо. Используя SQL Server 2005 или выше можно также сохранить это приятно в единственной таблице.
Ваша подержанная логика товаров могла быть сохранена как...
<logic type="and">
<logic type="or">
<logic type="not">
<value type="new" />
</logic>
<value type="used" />
</logic>
<value type="for_sale" />
</logic>
Я сожалею, что это не фактический ответ на Ваш вопрос и просто альтернативный способ сделать вещи. Я только что нашел, что это работает на меня в прошлом.
Я использовал бы одну таблицу
tags(id,name,type,expression,order)
Для Вашего примера должны быть вычислены подержанные товары перед подержанным предложением все другие могут быть вычислены без любых зависимостей.
1,'new',1,'',NULL
2,'for_sale',1,'',NULL
3,'used',1,'',NULL
4,'offer',1,'',NULL
5,'second_hand_goods',2,'(!new or used) and for_sale',1
6,'new_offer',2,'new and offer',1
7,'second_hand_offer',2,'second_hand_goods and offer',2
Объект мог быть отмечен только for_sale, вычисление даст:
second_hand_goods,second_hand_offer
У меня была бы функция, которая дает список всех тегов для объекта, включая прямые теги и вычисленные:
for_sale,second_hand_goods,second_hand_offer
Как насчет чего-то вроде этого:
Tables:
tags( id, name )
goods ( id, ... )
goods_tags_mm ( tag_id, good_id )
rules ( id, name )
rules_cnf ( id, rule_id )
rules_cnf_terms ( rules_cnf_id, tag_id )
Как значение по умолчанию, пока я не понял проблемы достаточно хорошо для выяснения решения, я не сохранил бы бизнес-правила в базе данных. Они принадлежат кода. Всегда существуют исключения к любому правилу однако, и Вы могли использовать хранимые процедуры своего RDBMS и / или функции для инкапсуляции этих правил (если DB имеет их). Но, поскольку я сказал, идеально, Вы интерпретируете данные значимым способом в коде.
Обновление
Извините, поймите, что я не отвечал на Ваш вопрос. Вы могли использовать функции, если Ваш DB имеет их, которые позволяют Вам передавать в параметрах и возвращать скалярные значения или использовать хранимые процедуры. Вы могли бы иметь 1 на выражение и большую процедуру для объединения выражений в некотором роде.