Django modelform: огромный набор запросов foreignkey приводит к сбою при загрузке формы

По сути, у меня две модели: User и Event. Событие всегда связано с одним пользователем.

class User(models.Model):
    user_id = models.AutoField(primary_key=True)
    username = models.CharField(max_length=255, unique=True)
    hashed_password = models.CharField(max_length=255)

class Event(models.Model):
    event_id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=255)
    description = models.TextField(max_length=255, blank=True, default='')
    user = models.ForeignKey(User)

Затем у меня есть следующая форма для Event.

class EventForm(forms.ModelForm):
    class Meta:
        model = Event
        fields = ['title', 'description', 'user']

Я могу успешно показать эту форму в моем шаблоне, чтобы создать мероприятие. Я также могу успешно связать пользователя с формой с помощью поля «Выбрать», когда количество пользователей все еще мало.

Теперь проблема в том, что когда у меня в базе данных 1 млн пользователей, мой браузер вылетает при загрузке шаблона. Есть идеи, как решить эту проблему? Я думал об использовании AJAX, а затем о поиске пользователя, который соответствует имени пользователя, но я хотел бы услышать другие лучшие подходы. Спасибо!

Кто заполняет эту форму? Это пользователь, как вы определили в своем вопросе?

Daniel Holmes 10.09.2018 09:12

см. комментарий Даниила выше. Если предполагается, что событие принадлежит текущему пользователю, правильным решением будет удалить поле пользователя из поля формы и добавить его «вручную» (из request.user).

bruno desthuilliers 10.09.2018 10:38

Привет! Нет, событие не принадлежит текущему пользователю. Пользователь может указать любого пользователя, который будет связан с событием. @DanielH.

Garmastewira 10.09.2018 11:00
0
3
35
0

Другие вопросы по теме