20 сентября 2016 г.

Django. Создание первой статьи (часть 8)



Создадим первую статью.

Для того чтобы исправить House object(название статьи), нужно в models.py создать метод __str__

def __str__(self):
    return self.house_name


Full Code:
class House(models.Model):
    house_name = models.CharField("Название", max_length=200, default="")
    house_price = models.IntegerField("Цена", default=0)
    house_description = models.TextField("Описание", default="")

class Meta:
    verbose_name = "Дом"
    verbose_name_plural = "Дом"

def __str__(self):
    return self.house_name


Метод __str__ отвечает за имя объекта, в нашем случае за имя одного дома, мы также можем вернуть как какое либо поле модели, так и какую-нибудь форматированную строку

def __str__(self):
    return "Статья номер {}".format(self.id)


Добавим отображение дополнительных полей в админке

@admin.register(House)
class ArticleAdmin(admin.ModelAdmin):
    list_display = ["name", "price"]


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

В файле models.py, в классе Meta добавим:

class Meta(object):
    ordering = ["name"]

Full code:
from django.db import models

# Create your models here.
class House(models.Model):
    house_name = models.CharField("Название", max_length=200, default="")
    house_price = models.IntegerField("Цена", default=0)
    house_description = models.TextField("Описание", default="")

class Meta:
    verbose_name = "Дом"
    verbose_name_plural = "Дом"
    ordering = ["house_name", "house_price"]

def __str__(self):
    return self.house_name


Для настройки фильтрации данных статей используем list  и в admin.py добавим

list_filter = ["house_price"]

Full code:
from django.contrib import admin
from houses.models import House


@admin.register(House)
class AdminHouse(admin.ModelAdmin):
    list_display = ["house_name", "house_price"]
    list_filter = ["house_price"]


1 комментарий :

  1. If you're looking to lose weight then you absolutely need to try this totally brand new tailor-made keto meal plan.

    To design this keto diet, certified nutritionists, personal trainers, and top chefs united to develop keto meal plans that are powerful, convenient, money-efficient, and enjoyable.

    From their grand opening in 2019, 100's of clients have already transformed their body and health with the benefits a good keto meal plan can offer.

    Speaking of benefits: clicking this link, you'll discover eight scientifically-certified ones given by the keto meal plan.

    ОтветитьУдалить

Оставить отзыв