Python Django相关对象和空外键
我想在我的网页上制作促销系统 我想要几个选择:Python Django相关对象和空外键,python,django,model,Python,Django,Model,我想在我的网页上制作促销系统 我想要几个选择: 为客户提供所有产品的折扣 为客户提供其中一种产品的折扣 为所有客户提供其中一种产品的折扣 如何建立模型来实现这一点? 我曾考虑在促销模型中使用可为NULL的外键,但如何在产品模型中使用相关对象,因为我需要使用外键等于客户端外键且外键为NULL的所有促销 或者在产品模型中添加一些经理,根据客户的id搜索促销价格?您的可空字段设计非常好。你只需要用一些薄薄的包装纸就可以了 假设要为当前用户选择所有促销。即,已选择用户或未指定用户的促销。使用Djan
- 为客户提供所有产品的折扣
- 为客户提供其中一种产品的折扣
- 为所有客户提供其中一种产品的折扣
或者在产品模型中添加一些经理,根据客户的id搜索促销价格?您的可空字段设计非常好。你只需要用一些薄薄的包装纸就可以了 假设要为当前用户选择所有促销。即,已选择用户或未指定用户的促销。使用Django很容易做到这一点:
from django.db.models import Q
class PromotionQuerySet(models.QuerySet):
def for_user(self, user):
return self.filter(Q(user=user) | Q(user__isnull=True))
class Promotion(models.Model):
user = models.ForeignKey(User, null=True)
objects = PromotionQuerySet.as_manager()
# and later in your code, say, in the view:
active_promos = Promotion.objects.for_user(request.user)
产品
字段也是如此。您使用可空字段的设计非常好。你只需要用一些薄薄的包装纸就可以了
假设要为当前用户选择所有促销。即,已选择用户或未指定用户的促销。使用Django很容易做到这一点:
from django.db.models import Q
class PromotionQuerySet(models.QuerySet):
def for_user(self, user):
return self.filter(Q(user=user) | Q(user__isnull=True))
class Promotion(models.Model):
user = models.ForeignKey(User, null=True)
objects = PromotionQuerySet.as_manager()
# and later in your code, say, in the view:
active_promos = Promotion.objects.for_user(request.user)
产品
领域也是如此。请通读django基础教程,它在模型设计方面做得很好,我相信你会从那里而不是这里学到更多。请通读django基础教程,它在模型设计方面做得很好,我相信你会从那里而不是这里学到更多。