Джанго

Използване на стойността по подразбиране на NULL в Django Model

Използване на стойността по подразбиране на NULL в Django Model
Моделът е една от важните части на базираното на базата данни приложение Django. Моделът определя структурата на базата данни. Типът данни на таблицата на базата данни и начинът за вмъкване на данни въз основа на различни атрибути са описани в Модела. Проверката на данните може да се контролира и с помощта на модела. Всяка таблица в базата данни съдържа определен брой полета или колони. Моделът определя типа на всяко поле на таблицата. Атрибутът по подразбиране се използва в модела за задаване на стойност по подразбиране за определена област, ако потребителят за това поле не вмъква данни. Стойността по подразбиране на поле може да бъде празно или някаква конкретна стойност. The нула и празно стойностите не са еднакви. нула се използва, за да се определи дали празната стойност е разрешена или не за дадено поле. Ако нула е настроен на Невярно, тогава празният низ няма да бъде разрешен в полето с цяло число, но празният низ може да бъде присвоен в полето с въвеждане на низ. Ако нула е настроен на Вярно, тогава NULL стойността ще бъде дадена в полето с цяло число вместо празен низ. бланk се използва главно за проверка на формуляра и не проверява типа данни на полето. Начинът на използване по подразбиране и нула атрибути в модела Django е показан в този урок.

Предпоставки:

Преди да практикувате скрипта на този урок, трябва да изпълните следните задачи.

A. Инсталирайте Django версия 3+ на Ubuntu 20+ (за предпочитане)
Б. Създайте проект на Django
° С. Стартирайте сървъра Django, за да проверите дали сървърът работи правилно или не.

Настройване на приложение на Django:

A. Изпълнете следната команда, за да създадете приложение на Django с име databaseapp.

$ python3 управлява.py startapp база данниapp

Б. Изпълнете следната команда, за да създадете потребителя за достъп до базата данни на Django. Ако сте завършили потребителя преди, не е необходимо да изпълнявате командата.

$ python3 управлява.py създаваuperuser

° С. Добавете името на приложението в INSTALLED_APP част от настройките.py файл.

INSTALLED_APPS = [
..
„валидиране“
]

д. Създайте папка с име шаблони вътре в databaseapp папка и задайте шаблони местоположението на приложението в ШАБЛОНИ част от настройки.py файл.

ШАБЛОНИ = [

.. .
'DIRS': ['/ home / fahmida / django_pro / databaseapp / templates'],
.. .
,
]

Дизайн модел с атрибути по подразбиране и нула:

Променете модели.py файл със следния скрипт за създаване на таблица с име продукти който ще съдържа четири полета без полето id. Тези имена, цена, дата на производство и дата на изтичане. Стойността на нула attribute е зададено на True за всички полета. Стойността на празното attribute е зададено на True за всички полета също. Това означава, че потребителят може да запази полетата празни, преди да изпрати формуляра, който ще използва този модел. The по подразбиране стойността на атрибута е зададена за цена, дата на производство и дата на изтичане.

модели.py

# Модул за импортиране на модели
от django.db модели за импортиране
# Създайте клас, за да дефинирате структурата на таблицата за учители
клас Продукт (модели.Модел):
име = модели.CharField (max_length = 50, null = True, празно = True)
цена = модели.IntegerField (null = Вярно, по подразбиране = ", празно = Вярно)
дата на производство = модели.DateField (null = True, по подразбиране = '0000-00-00', празно = True)
дата на изтичане = модели.DateField (null = True, по подразбиране = '0000-00-00', празно = True)

Изпълнете следните команди за мигриране, за да създадете необходимите файлове за миграция и таблицата на базата данни на базата данни на SQLite.

$ python3 управлява.py makemigrations база данниapp
$ python3 управлява.py мигрират

Вмъкване на данни с помощта на таблото за управление на Django:

Променете съдържанието на администраторът.py файл със следния скрипт, за да регистрирате модела в базата данни.

администратор.py
Променете URL адреси.py файл със следния скрипт, за да определите пътя за отваряне на административното табло за управление на Django.

URL адреси.py

# Импортиране на администраторски модул
от django.принос вноса администратор
# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Определете пътя за клиента и администратора
urlpatterns = [
път ('admin /', admin.сайт.URL адреси)
]

Сега стартирайте сървъра на Django и отидете на административното табло за управление на Django, като използвате следния URL адрес.

http: // localhist: 8000 / admin

отворете формуляра за влизане в продукт, като щракнете върху Добавете продукт. Ако потребителят изпрати формуляра, без да вмъква данни, тогава в браузъра ще се появи следният изход. Тук две полета за дата показват грешки, тъй като стойността по подразбиране на полето за дата не е в валиден формат.

Следното извеждане ще се появи след добавяне на валидни данни за дата. Ето, цена полето е празно за използване на атрибута по подразбиране.

Вмъкване на данни с помощта на шаблона:

Начинът на вмъкване на данни в продукти таблица, използваща HTML форма, е показана в този раздел. Тук елементите на формуляра ще бъдат генерирани въз основа на модела, който е създаден преди това.

форми.py

# Модул за импортиране на формуляри
от форми за импортиране на django
# Импортиране на модел на клиента
от dbapp.модели внос на продукт
# Определете класа за формуляра на клиента
клас ProductForm (форми.ModelForm):
клас Meta:
модел = Продукт
полета = '__all__'

Създайте име на HTML файл продукт.html вътре в шаблони папка на приложението със следния скрипт. Данните за формуляра ще бъдат изпратени, когато потребителят щракне върху Запазете бутон.

продукт.html

Формуляр за участие на клиента



% csrf_token%
форма.as_p

Променете мнения.py файл със следния скрипт за вмъкване на данни в продукти таблица след валидиране на формуляра. AddProduct () функция е дефинирана в скрипта, за да провери дали формулярът е изпратен или не, и ако формулярът е изпратен, тогава той ще провери данните на формуляра са валидни или невалидни. Ако е валиден() функцията връща вярно, тогава данните ще бъдат вмъкнати в продукти таблица и в браузъра ще се покаже съобщение за успех.

мнения.py

# Импортиране на модул HttpResponse
от django.http.отговор импортиране HttpResponse
# Импортиране на модул за рендиране
от django.преки пътища за импортиране
# Импортиране на ProductForm
от dbapp.формуляри за импортиране на ProductForm
# Определете функцията за добавяне на запис на продукт
def AddProduct (заявка):
при поискване.метод == "POST":
form = ProductForm (заявка.POST)
# Ако данните на формуляра са валидни или не
ако форма.е валиден():
опитвам:
# Запазете данните на формуляра в базата данни
форма.запазване ()
# Определете съобщението за потребителя
данни = ['

Добавеният продукт.

']
# Върнете отговора
връщане HttpResponse (данни)
с изключение:
мине
друго:
# Определете обекта на формуляра
форма = ProductForm ()
# Показване на формуляра за въвеждане на продукт
return render (заявка, 'продукт.html ', ' форма ': форма)

Променете URL адреси.py файл със следния скрипт за определяне на пътя за извикване на функцията за изглед.

URL адреси.py

# Импортиране на администраторски модул
от django.принос вноса администратор
# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Импортиране на изглед
от изгледи за импортиране на dbapp
# Определете пътя за клиента и администратора
urlpatterns = [
път (", изгледи.AddProduct),
път ('admin /', admin.сайт.URL адреси)
]

Сега стартирайте сървъра Django и отворете основния URL адрес в браузъра.

http: // localhist: 8000 /

Ще се появи следната форма.

Следното ValueError ще се появи, ако потребителят изпрати формуляра, без да добавя никакви данни във формуляра. Ето, цена полето е цяло число, което не може да бъде празният низ.

Ако потребителят въведе валидни данни като формуляра по-долу и натисне Запазете бутон, нов запис на продукта ще бъде вмъкнат в базата данни.

Следното изображение ще се появи, ако отворите нововъведения запис от таблото за управление на Django.

Заключение:

Моделът е проектиран с помощта на null и атрибути по подразбиране в този урок. След това начините за вмъкване на данни в тези полета отзад и отпред са показани тук, за да помогнат на читателя да разбере как се използват атрибутите по подразбиране и нула в базата данни на Django.

Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...
Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...
Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...