Из документации lodash третьим аргументом для differenceBy
является
blockquote>
[iteratee=_.identity] (Function)
: итератор вызывается для каждого элемента.Исходя из этого, вы можете использовать
var current = [ { id: 1 }, { id: 2 }, { id: 3 }, { id: 4 } ];
и
var next = [ { conversation_id: 1 }, { conversation_id: 2 }, { conversation_id: 4 } ];
, затем
var difference = _.differenceBy(current, next, function(obj) { return obj.id || obj.conversation_id; });
Или сокращать их с помощью функции стрелки:
var difference = _.differenceBy(current, next, (x) => x.id || x.conversation_id)
Для value_from_datadict()
Вы хотите возвратить значение, которое Вы ожидаете или Ни один. Источник в django/forms/widgets.py обеспечивает некоторые примеры.
Но необходимо смочь создать виджет DatePicker, просто обеспечив a render
метод:
DATE_FORMAT = '%m/%d/%y'
class DatePickerWidget(widgets.Widget):
def render(self, name, value, attrs=None):
if value is None:
vstr = ''
elif hasattr(value, 'strftime'):
vstr = datetime_safe.new_datetime(value).strftime(DATE_FORMAT)
else:
vstr = value
id = "id_%s" % name
args = [
"<input type=\"text\" value=\"%s\" name=\"%s\" id=\"%s\" />" % \
(vstr, name, id),
"<script type=\"text/javascript\">$(\"#%s\").datepicker({dateFormat:'mm/dd/y'});</script>" % id
]
return mark_safe("\n".join(args))
Источник Django говорит
Учитывая словарь данных и имени этого виджета, возвращает значение этого виджета. Возвраты Ни один, если это не обеспечивается.
Читая код, я вижу, что отдельные виджеты Даты и времени Django являются оба подклассами Входа, подклассами Виджета, который, кажется, работает с простыми строками.