Size: a a a

Django [ru] #STAY HOME

2020 June 15

A

Arty in Django [ru] #STAY HOME
Nire
А чем пресейв плох?
Если пресейв делаю тогда В админке  при сохранении идёт ошибка UNIQUE constraint failed
источник

N

Nire in Django [ru] #STAY HOME
Лол, ошибку в депаст кинь
источник

А

Антон in Django [ru] #STAY HOME
Arty
К примеру создал тег с именем python чтобы не смогли потом такой же тег создать в разных регистрах PythoN и т.д
создай в админке форму
class SomethingAdmin(admin.ModelAdmin):
   form = SomethingAdminForm

class SomethingAdminForm(forms.ModelForm):
   def clean(self):
       super().clean()
       your_data = self.cleaned_data.get('data')

       if check:
             raise forms.ValidationError('error')
источник

А

Антон in Django [ru] #STAY HOME
типа такого тебе надо
источник

А

Антон in Django [ru] #STAY HOME
как мне кажется )
источник

D

Dk in Django [ru] #STAY HOME
Привет. Как указать у модели поле со ссылкой на другое поле этой же модели?
class User:
   uuid = models.UUIDField()
   invited = models.ForeignKey('self.uuid', null=True)

типа того
источник

N

Nire in Django [ru] #STAY HOME
Dk
Привет. Как указать у модели поле со ссылкой на другое поле этой же модели?
class User:
   uuid = models.UUIDField()
   invited = models.ForeignKey('self.uuid', null=True)

типа того
Омагад, я бы хранил отдельно
источник

D

Dk in Django [ru] #STAY HOME
Nire
Омагад, я бы хранил отдельно
Почему?
источник

N

Nire in Django [ru] #STAY HOME
Потому что так понятнее, как делать) плюс не будет проблем при удалении пользователя.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Dk
Привет. Как указать у модели поле со ссылкой на другое поле этой же модели?
class User:
   uuid = models.UUIDField()
   invited = models.ForeignKey('self.uuid', null=True)

типа того
А зачем на поле? Судя по всему тебе просто ForeignKey('self') нужен
источник

D

Dk in Django [ru] #STAY HOME
Rust Saiargaliev
А зачем на поле? Судя по всему тебе просто ForeignKey('self') нужен
а как он узнает, что к uuid именно надо?
источник

D

Dk in Django [ru] #STAY HOME
Nire
Потому что так понятнее, как делать) плюс не будет проблем при удалении пользователя.
Кому понятнее?
источник

A

Arty in Django [ru] #STAY HOME
Мужики всем спасибо сделаю по совету через форму в админке
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Dk
а как он узнает, что к uuid именно надо?
Так я и спросил, зачем тебе именно на uuid реферрить? У тебя есть primary key, на него и будет связь
источник

D

Dk in Django [ru] #STAY HOME
Rust Saiargaliev
Так я и спросил, зачем тебе именно на uuid реферрить? У тебя есть primary key, на него и будет связь
uuid и будет primary key, то есть, к нему и будет?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Dk
uuid и будет primary key, то есть, к нему и будет?
Если у тебя uuid primary_key=True, тогда все FK и M2M будут реферриться через него по дефолту
источник

D

Dk in Django [ru] #STAY HOME
Понял, спасибо. Пойду чуть доки почитаю, чтобы убедиться.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Dk
Понял, спасибо. Пойду чуть доки почитаю, чтобы убедиться.
https://docs.djangoproject.com/en/3.0/ref/models/fields/#django.db.models.ForeignKey.to_field


>The field on the related object that the relation is to. By default, Django uses the primary key of the related object. If you reference a different field, that field must have unique=True.
источник

P

Pewpew in Django [ru] #STAY HOME
Привет, кто-то сталкивался с такой ситуацией?
Загрузка изображения в
image = models.ImageField(upload_to=image_folder, blank=True, verbose_name="Изображение боеприпаса")
проходит без ошибок, обрабатывается  методом:
def image_folder(instance, filename):
   filename = instance.slug + '.' + filename
   return "{0}/{1}".format(instance.slug, filename)
В папке media ( которая является медиа рутом) появляется папка с файлом. Но при выводе на страницу не может найти эту картинку.
Если кто-то может помочь решить проблему и объяснить её решение, то буду очень рад этому, да и на небольшое вознаграждение не поскуплюсь
источник

P

Pewpew in Django [ru] #STAY HOME
Версия Django 2.0
источник