Плагин базы данных установлен по умолчанию в каждой копии Baserow. Без него вы не сможете ничего сделать с приложением. Кратко говоря, это плагин, который позволяет создавать базу данных с интерфейсом, похожим на электронную таблицу. Вы заметите, что все построено вокруг этой концепции.
Каждое приложение базы данных может иметь несколько таблиц, и таблица — это то, что вы можете предположить. Она содержит строки и столбцы, но в Baserow столбцы называются полями. У каждой таблицы есть собственное представление схемы в базе данных PostgreSQL.
Существует класс обработчика baserow.contrib.database.table.handler.TableHandler
, который имеет множество методов, связанных с созданием, изменением и удалением таблиц. Другой приятной особенностью является то, что модель Django таблицы может легко быть сгенерирована. Допустим, у вас есть следующая таблица с идентификатором id
, и вы хотите выбрать все данные.
Название модели | Бренд | Цена |
---|---|---|
3 Series | BTW | 30000 |
A4 | Audi | 25000 |
Model 3 | Tesla | 50000 |
from baserow.contrib.database.table.models import Table
cars_table = Table.objects.get(pk=ID_REFERENCED_TABLE_ABOVE)
# Если вы установите атрибут attribute_names в True, имя атрибута будет соответствовать имени поля, предоставленному пользователем, вместо field_{id}
cars_model = cars_table.get_model(attribute_names=True)
for car in cars_model.objects.all():
print(car.id, car.model_name, car.price)
# Результат:
# 1 3 Series 30000
# 2 A4 25000
# 3 Model 3 50000
Поле фактически является определением столбца таблицы. Оно принимает только определенный тип данных для значений ячеек. Например, поле может быть числовым полем, которое принимает два знака после запятой. Если новое поле добавляется к таблице, оно также добавляется как столбец к представлению таблицы в базе данных. Имя столбца в базе данных будет field_{id}. Поля можно создавать, изменять и удалять через baserow.contrib.database.fields.handler.FieldHandler
и через REST API. Несколько типов полей включены по умолчанию.
Типы полей можно добавлять через плагины. Подробнее об этом на странице плагина типов полей.
text
: Однострочный текст.long_text
: Многострочный текст.number
: Число, которое может быть отрицательным и может быть десятичным.boolean
: Принимает только значения true или false.date
: Поле даты в формате Европа, ISO или США, которое может включать время в формате am/pm.Просмотры определяют, как данные таблицы отображаются пользователю. По умолчанию включен тип просмотра grid
, который отображает данные в интерфейсе, похожем на электронную таблицу. К каждой таблице можно добавить несколько просмотров, и каждый просмотр имеет свои настройки. Например, если у вас есть два сеточных просмотра A и B одной и той же таблицы данных, и вы измените ширину столбца в сетке A, то это изменение будет применено только к сетке A, а не к сетке B. Просмотры можно создавать, изменять и удалять через baserow.contrib.database.views.handler.ViewHandler
и через REST API.
Типы просмотров можно добавлять через плагины. Подробнее об этом на странице плагина типов просмотров.
Строки — это данные таблицы. Принимаемые значения зависят от полей таблицы. Данные хранятся в представлении таблицы в базе данных. В приведенном ниже примере мы добавим одну строку данных в таблицу, которую только что создали через интерактивную оболочку Python. Тот же результат можно было бы достичь через REST API.
from django.contrib.auth import get_user_model
from baserow.contrib.database.table.models import Table
from baserow.contrib.database.fields.handler import FieldHandler
from baserow.contrib.database.rows.handler import RowHandler
User = get_user_model()
user = User.objects.get(pk=1)
table = Table.objects.get(pk=10)
name = FieldHandler().create_field(user, table, 'text', name='Name')
price = FieldHandler().create_field(user, table, 'number', name='Price')
row = RowHandler().create_row(user, table, {
f'field_{name.id}': 'Smartphone',
f'field_{price.id}': 300
})
model = table.get_model()
rows = model.objects.all()
print(rows[0].name)
print(rows[0].price)
# Что даст результат:
# Smartphone
# 300
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )