【发布时间】:2013-07-25 17:26:52
【问题描述】:
我有一种情况,我对两种解决方案中的任何一种都感到满意,这取决于哪个更可行/可能。我有一个显示事件的页面。该事件的名称可能不一定正确,因此用户可以选择建议更正。这些更正存储在它们自己的表中,并与事件有外键关系。提出建议后,用户可以对该建议投赞成票或反对票。我需要将每个登录用户的最大投票数限制为 1。我完全不知道该怎么做。
我的理想解决方案:显示多达五个建议。每个登录用户都可以对这五个建议中的每一个进行投票。每次一次。
我不太理想但仍然可以接受的解决方案:显示的建议多达五个。登录用户只能对五项建议中的一项投票赞成或反对。
我不确定哪个更实用。我将为活动提供我的模型和建议的名称。如果您还需要查看其他内容,请告诉我。提前致谢!
class Event(models.Model):
def __unicode__(self):
return unicode(self.id)
id = models.BigIntegerField(blank = 'TRUE', primary_key='TRUE')
version = models.IntegerField(default = 0)
views = models.IntegerField(default = 0)
created = models.DateTimeField(editable = False)
modified = models.DateTimeField()
trained = models.BooleanField(default = False)
type = models.SmallIntegerField(default = 0)
def save(self, *args, **kwargs):
if not self.id:
self.created = datetime.datetime.today()
self.modified = datetime.datetime.today()
super(Event, self).save(*args, **kwargs)
class suggestedName(models.Model):
def __unicode__(self):
return unicode(self.name)
name = models.CharField(max_length=200, blank = 'TRUE', null = 'TRUE')
votes = models.IntegerField(default = 0)
event = models.ForeignKey(Event)
【问题讨论】:
-
你没有跟踪
user谁在任何地方投票。 -
要限制投票数量,您需要一个包含用户详细信息的投票实体模型。
标签: django django-models