Рубрики
Без рубрики

Метод __str__ объяснен с использованием панели администратора Django

В момент создания моделей в Джанго вы можете заметить, что почти инстинктивно все добавляют … Помечено с Джанго, Питоном, WebDev, учебным пособием.

В момент создания моделей в Джанго вы можете заметить, что почти инстинктивно все добавляют дополнительную пару строк, которые включают метод стр Или, может быть, нет, но давайте объясним str метод в любом случае.

Метод str позволяет нам преобразовать объект в строковое представление. Этот метод представляет собой метод Дандера, который обычно используется при создании моделей в Джанго, но также используется в других местах.

Дандер методы

-> Начни и заканчиваются с двойными подставками.

-> Дандер короткий для «двойного под».

-> Еще один общий метод Дандера – в этом

Если мы не используем str Метод, после миграции изменений, панель администратора вернет объект, но этот объект не будет показывать знакомое имя, которое затруднит ситуацию при управлении объектами, особенно если создано много объектов.

Если используется метод, на панели администратора будет показано представление строки. Эта строка будет составлена из поля, выбранного для возврата в методе.

Давайте посмотрим пример используемого метода.

По причинам краткости я уже настроил Django Plus создал приложение и модель с именем картами.

Если вы хотите знать, как сделать первоначальную настройку Django и как создавать модели, проверьте эти сообщения.

Глава 1 – Настройка Django – (Как создать веб -приложение Django)

Глава 2 – Основы Джанго – (Как получить доступ к панели администратора и создать модели в Джанго)

Если вы просто хотите понять метод str , продолжай читать.

Без стр метод

В приведенном ниже коде показана модель с именем с двумя чарфилдами, концепцией и описанием.

Models.py

#path -> cards/models.py

from django.db import models


class Cards(models.Model):
    concept = models.CharField(max_length=75)
    description = models.CharField(max_length=75)



#baltlogs.com

Admin.py

Я также импортировал модель карт и также зарегистрировал ее.

#path -> cards/admin.py

from django.contrib import admin
from .models import Cards

admin.site.register(Cards)

#baltlogs.com

Если вы следите за своим компьютером, выпустите следующие команды для проведения миграций и запуска сервера.

Используйте свои учетные данные и получите доступ к панели администратора, перейдя в http://127.0.0.1:8000/admin/

Если вы не знаете, как создать суперпользователя и получить доступ к панели администратора, см. В начале учебника.

Нажмите на имя модели, в моем случае, карты.

Все созданные записи, которые относятся к модели (карты), будут отображаться здесь.

Если вы впервые получаете доступ к панели администратора, у вас не будет никаких записей. Вы можете создать некоторые, нажав на добавление карт (имя модели).

Создайте несколько записей и сохраните их. Вы должны увидеть недавно созданные записи.

В моем случае, общий счет говорит, что я создал 5 карт, но счет рядом с объектом карты составляет до 12. Это потому, что я уже создал и удалил кучу записей.

Взгляните на то, как отображаются созданные объекты. Нет никакой разницы между ними, кроме как по номеру рядом с ним. Тем не менее, нет никакого способа узнать, какой объект какой.

Объекты появляются таким образом, потому что мы не включали метод стр

С стр метод

Давайте включим str Метод в моделях.py.

Models.py

#path -> cards/models.py

from django.db import models


class Cards(models.Model):
    concept = models.CharField(max_length=75)
    description = models.CharField(max_length=75)

    def __str__(self):
        return self.concept



#baltlogs.com

Сохраните файл и выпустите команды, чтобы сделать миграции и снова запустить сервер.

Перейдите на панель администратора -> карты (имя модели)

Вы должны увидеть отображаемые объекты, но на этот раз с представлением строки выбранного поля модели, в моем случае, поля концепции.

Это представление строки облегчает идентификацию объектов вместо того, чтобы просто иметь имя, такое как Card Object (#) или адрес памяти объекта, который также иногда отображается, если str Метод не включен.

Некоторые из наиболее распространенных полей, выбранных в качестве строковых представлений, – это поля имени и заголовка. Эти поля – очень хороший способ узнать, какой объект.

Примечание:

Моя модель показана как карты с двойным ‘s’. Это связано с тем, что панель администратора автоматически отображает множественное число имени модели. Если бы я назвал свою модельную карту, то она появилась бы как карты на панели администратора.

Узнайте больше о Джанго:

Twitter

Вход/страница регистрации с серии HTML, CSS и JS – Часть I

Стиль NAVBAR + логотип с использованием BootStrap5 и Django

Джанго 3..2..1 .. Книга взлета

Персональный сайт

Оригинал: “https://dev.to/balt1794/method-str-explained-using-django-admin-panel-1nde”