Массовое обновление с помощью JSONField в Django

используйте этот параметр

if ($this.hasClass('tb-email')) {
    var email = $this.val();
    var txt = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!txt.test(email)) {
        e.preventDefault();
        $this.addClass('error');
    } else {
        $this.removeClass('error');
    }
}
0
задан Averin Maxim 17 January 2019 в 11:29
поделиться

2 ответа

На самом деле, bulk_update - это простой случай, когда происходит кастинг. Вот решение без перехода на Django 2.2

field_type = Clinic._meta.get_field('info_json')
whens = [When(pk=x, then=Value(_json['info'][str(x)], output_field=field_type) 
for x in ids]
Clinics.objects.filter(pk__in=ids).update(
  info_json=Cast(Case(*whens, output_field=field_type),output_field=field_type)
)
0
ответ дан Averin Maxim 17 January 2019 в 11:29
поделиться

В настоящее время вы застреваете, перебирая экземпляры и обновляя их по одному. Тем не менее, Django 2.2 представит bulk_update() , который будет делать то, что вы хотите.

0
ответ дан schillingt 17 January 2019 в 11:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: