Django как проверить, используется ли таблица в качестве внешнего ключа другой таблицы
Итак, у меня есть две модели, Order
и Orders
, и для каждого товара, который есть в моей сессии (корзине).
Я создаю объект Order_object (сохраняю в базе данных) и после сохранения каждого товара я хочу сделать проверку для каждого Order
на то, какие из них не являются внешним ключом в Orders
, если нет, создаю объект Orders_object, а затем добавляю каждого Order
, который не является внешним ключом Orders
И я хочу, чтобы каждый Orders
имел несколько Order
Models.py
class Order(models.Model):
----fields---
class Orders(models.Model):
order = models.ManyToManyField(Order)
----other fields ------
Я хочу сделать что-то подобное, но не знаю, сработает ли это, может кто-нибудь подтвердить, работает ли это?:
Примечание: даже если этот код, который я хочу проверить, работает, я не добавляю несколько Order_object в Orders_object, я просто создаю Orders_object, содержащий только один Order_object, как мне это исправить
for order_object in Order:
check_if_doesnt_have_foreign_key = True
for orders in Orders:
if orders.order == order_object
check_if_doesnt_have_foreign_key = False
break:
if check_if_doesnt_have_foreign_key == True:
orders = Orders(order=order_object)
orders.save()
Вы можете сделать что-то подобное :
order = get_object_or_404(Order, pk=pk)
for order_object in Order:
if order_object.orders.exists():
# Do something
else:
# Do something
order_all = Order.objects.all()
orders_all = Orders.objects.all()
for order_object in order_all:
the_order_object_is_not_fk_in_orders = True
for orders in orders_all:
for orders_order_object in orders.order.all():
if orders_order_object == order_object:
the_order_object_is_not_fk_in_orders = False
break
if the_order_object_is_not_fk_in_orders == True:
#do something