Size: a a a

Django [ru] #STAY HOME

2020 September 09

A

Alexander in Django [ru] #STAY HOME
Есть форма:
class MyUpdateForm(ModelForm):  

   labels = forms.ModelMultipleChoiceField(
       widget=DynamicMultiSelect(reverse_lazy('tag_filter')),
       queryset=....
   )
Как задать queryset для поля формы так, чтобы он зависел от self.instance, т.е например Label.objects.filter(user_id=self.instance.id)?
источник

A

Alexander in Django [ru] #STAY HOME
я понимаю, что до конструктора у нас self-а нет, но если это делать в конструкторе, то у мен тоже проблема:
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alexander
Есть форма:
class MyUpdateForm(ModelForm):  

   labels = forms.ModelMultipleChoiceField(
       widget=DynamicMultiSelect(reverse_lazy('tag_filter')),
       queryset=....
   )
Как задать queryset для поля формы так, чтобы он зависел от self.instance, т.е например Label.objects.filter(user_id=self.instance.id)?
здесь пишешь запрос с .all(). а в __init__() переопределяешь.
Запросы ленивы - выполнится только последний
источник

SP

Sebastian Pereiro in Django [ru] #STAY HOME
Ребята, привет! Два вопроса, дабы не строить велосипед:
1. Какой модуль для биллинга в SaaS-решении посоветуете?
2. Есть ли уже готовая интеграция с платежным шлюзом Tinkoff?
источник

A

Alexander in Django [ru] #STAY HOME
Если я делаю так
    def __init__(self, *args, **kwargs):

       super().__init__( *args, **kwargs)
       self.fields['labels'].queryset = Label.objects.filter(user_id=self.instance.id)
то на этапе назначения queryset-а уже выполнен дефолтный
Если же я сделаю
    def __init__(self, *args, **kwargs):

       self.fields['labels'].queryset = Label.objects.filter(user_id=self.instance.id)
       super().__init__( *args, **kwargs)
```
то на этом этапе self.fields['labels'] еще не инициализирован
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alexander
Если я делаю так
    def __init__(self, *args, **kwargs):

       super().__init__( *args, **kwargs)
       self.fields['labels'].queryset = Label.objects.filter(user_id=self.instance.id)
то на этапе назначения queryset-а уже выполнен дефолтный
Если же я сделаю
    def __init__(self, *args, **kwargs):

       self.fields['labels'].queryset = Label.objects.filter(user_id=self.instance.id)
       super().__init__( *args, **kwargs)
```
то на этом этапе self.fields['labels'] еще не инициализирован
> то на этапе назначения queryset-а уже выполнен дефолтный
что это значит? кто выполнится? запрос?
источник

A

Alexander in Django [ru] #STAY HOME
Artem Gubatenko
> то на этапе назначения queryset-а уже выполнен дефолтный
что это значит? кто выполнится? запрос?
да, я просто по отладчику смотрю. После super().__init__(...) еще один запрос добавляется в connection.queries. Хотя да, я точно не уверен, выполнился ли он. Не знаю, как проверить
источник

A

Alexander in Django [ru] #STAY HOME
Artem Gubatenko
здесь пишешь запрос с .all(). а в __init__() переопределяешь.
Запросы ленивы - выполнится только последний
а хотя да, вы правы. После подмены он в отладчике заменился
источник

A

Alexander in Django [ru] #STAY HOME
Artem Gubatenko
здесь пишешь запрос с .all(). а в __init__() переопределяешь.
Запросы ленивы - выполнится только последний
🙏 спасибо
источник

J

Jack in Django [ru] #STAY HOME
Artem Gubatenko
в доке есть как выводить каждое поле отдельно. Набери в гугле: "django template forms"
Читал доки, не нашел как обратится к profile_form.avatar у нас есть, и есть такая штука, как обратится к допустим только кнопке выберите файл для её стилизации не через css а boodstrap
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jack
Читал доки, не нашел как обратится к profile_form.avatar у нас есть, и есть такая штука, как обратится к допустим только кнопке выберите файл для её стилизации не через css а boodstrap
boodstrap  - в моем понимании, это набор заданных css стилей (+ js, но это доп). читай в доке какими классами бутстрапа стилизовать, потом пропиши поля в джанго-форме нужные css классы
источник

J

Jack in Django [ru] #STAY HOME
Artem Gubatenko
boodstrap  - в моем понимании, это набор заданных css стилей (+ js, но это доп). читай в доке какими классами бутстрапа стилизовать, потом пропиши поля в джанго-форме нужные css классы
Вот вопрос в том какие поля для этого существуют именно profile_form.avatar, стандартные на as_p, label прочие проверял и ничего
источник

N

Nire in Django [ru] #STAY HOME
Jack
Вот вопрос в том какие поля для этого существуют именно profile_form.avatar, стандартные на as_p, label прочие проверял и ничего
Не путай теги темплейтов и стилевой фреймворк
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jack
Вот вопрос в том какие поля для этого существуют именно profile_form.avatar, стандартные на as_p, label прочие проверял и ничего
> какие поля для этого существуют
все зависит от того, что накодил в форме)
источник

A

Alexandr in Django [ru] #STAY HOME
Приветствую.Посоветуйте книженцию по джанго, либо просто учить по документации? Не знаю как правильно начать
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alexandr
Приветствую.Посоветуйте книженцию по джанго, либо просто учить по документации? Не знаю как правильно начать
тут есть ссылки: http://github.com/amureki/django_faq
источник

SG

Sam Gans in Django [ru] #STAY HOME
я лично сугубо по докам учился, вроде неплохо
источник

SG

Sam Gans in Django [ru] #STAY HOME
но важное уточнение, что после одного прочтения обычно ничего не понятно)
источник

J

Jack in Django [ru] #STAY HOME
Artem Gubatenko
> какие поля для этого существуют
все зависит от того, что накодил в форме)
Справедливо)
В плане я то обращаюсь к profile_form.avatar а что дальше вот не понятно, там ведь несколько элементов как к ним ко всем обратится вопросики
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Jack
Справедливо)
В плане я то обращаюсь к profile_form.avatar а что дальше вот не понятно, там ведь несколько элементов как к ним ко всем обратится вопросики
кажется кто-то поленился спросить у гугла, хотя я даже написал поисковой запрос)
самостоятельный вывод полей: https://docs.djangoproject.com/en/3.1/topics/forms/#rendering-fields-manually
управление атрибутами полей: https://docs.djangoproject.com/en/3.1/ref/forms/widgets/#styling-widget-instances
https://docs.djangoproject.com/en/3.1/ref/forms/widgets/#django.forms.Widget.attrs
источник