Найти - Пользователи
Полная версия: Как лучше организовать хранение временной информации в БД с помощью моделей?
Начало » Django » Как лучше организовать хранение временной информации в БД с помощью моделей?
1
SorrowFuck
Пишу простенький магазинчик. Встал такой вопрос - нужно организовать корзину заказов. Предполагается, что по завершению процедуры заказа, таблица с данными корзины будет подчищаться. Не могу определиться как это лучше сделать:
Расширить модель user и добавить столбец где будут храниться id товаров;
Написать новую полноценную модель, связать ее с user и в полях этой модели хранить id товаров;
Какой вариант наиболее оптимальный и менее трудоёмкий, может есть уже какие-то готовые решения или что-то в таком духе?
FishHook
>>>Расширить модель user и добавить столбец где будут храниться id товаров;
Это как Вы видите, хотите хранить список этих айдишников строкой?
Не лучше ли в модель товаров добавит ManyToMany поле с реляцией на юзера?
SorrowFuck
FishHook
>>>Расширить модель user и добавить столбец где будут храниться id товаров;
Это как Вы видите, хотите хранить список этих айдишников строкой?
Не лучше ли в модель товаров добавит ManyToMany поле с реляцией на юзера?
То есть на сколько я понял, ManyToMany будет создавать отдельную таблицу для каждого юзера связанного с определенным товаром (который он заказал)?
FishHook
SorrowFuck
То есть на сколько я понял, ManyToMany будет создавать отдельную таблицу для каждого юзера связанного с определенным товаром (который он заказал)?
Будет одна дополнительная таблица
id —- user_id—-product_id
С помощью ORM Django Вы сможете деталь запросы хоть по юзеру хоть по товару не заморачиваясь тем, как это представлено в БД, собственно мануал в помощь.
RTFM
SorrowFuck
FishHook
SorrowFuck
То есть на сколько я понял, ManyToMany будет создавать отдельную таблицу для каждого юзера связанного с определенным товаром (который он заказал)?
Будет одна дополнительная таблица
id —- user_id—-product_id
С помощью ORM Django Вы сможете деталь запросы хоть по юзеру хоть по товару не заморачиваясь тем, как это представлено в БД, собственно мануал в помощь.
RTFM

Спасибо, прочитаю.
SorrowFuck
Написал вот такую модель:
class GoodsDescription(models.Model):
    type = models.ForeignKey(GoodsType, unique=True)
    basket = models.ManyToManyField(User, unique=False, null=True)
    title = models.CharField(max_length=50, unique=False)
    image = models.ImageField(upload_to="description")
    description = models.TextField(max_length=4000)
    characteristics = models.TextField(max_length=4000)
    review = models.TextField(max_length=4000)
    number = models.IntegerField()

Предполагаю что с помощью такого отрывка в вью можно будет ассоциировать
товары с user, тем самым получив модель для корзины:
goods = GoodsDescription.objects.filter(title=some_title)
user = User.objects.filter(username=user_name)
g = GoodsDescription(id=goods.id)
u = User(id=user.id)
g.basket.add(g)

Когда я заполняю формы через административный интерфейс поле User обязательное для заполнения, как это исправить?
FishHook
basket = models.ManyToManyField(User, unique=False, null=True, blank=True)

SorrowFuck
FishHook
basket = models.ManyToManyField(User, unique=False, null=True, blank=True)


Спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB