三种模式:
-
使用者
-
-
购买会员
每个成员都有开始日期和结束日期。用户可以购买会员资格及其存储在PurchasedMembership模型中的信息。
我有3种解决问题的方法
我想要什么
-
没有性能问题。
-
-
如何处理比赛情况?
-
如何安排任务?
-
-
我的解决方案中哪一个是好的,它是如何实现的?
Django模型
class User(models.Model):
#Django User Model
此模型存储成员详细信息。
class Membership(models.Model):
title = models.CharField(max_length=100)
start_date = models.DateTimeField(auto_now_add=True)
end_date= models.BooleanField(default=None)
total_membership = models.IntegerField(default=0)
price = models.IntegerField(default=0)
PurchasedMembership = models.ManyToManyField(settings.AUTH_USER_MODEL,through='PurchasedMembership',through_fields=('Membership ', 'user'))
class PurchasedMembership(models.Model):
Membership = models.ForeignKey(Membership,on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE, default="")
joined_date = models.DateTimeField(auto_now_add=True)
class Meta:
unique_together = ('Membership ', 'user',)
将调用此方法以执行某些计算并将其保存到数据库中。
def perform_Calculations(request):
#Performing calculations