我有一种情况,对两种解决方案中的任何一种都感到满意,这取决于哪个更可行/可能。我有一个显示事件的页面。该事件的名称可能不一定正确,因此用户可以选择建议更正。这些更正存储在它们自己的表中,并与事件具有外键关系。提出建议后,用户可以对该建议投赞成票或反对票。我需要将每个登录用户的最大投票限制为 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)