我有以下表格完美运作:
# coding=utf-8
from django import forms
from straightred.models import StraightredTeam
from straightred.models import UserSelection
class SelectTwoTeams(forms.Form):
cantSelectTeams = UserSelection.objects.filter(campaignno=102501349)
currentTeams = StraightredTeam.objects.filter(currentteam = 1).exclude(teamid__in=cantSelectTeams.values_list('teamselectionid', flat=True))
team_one = forms.ModelChoiceField(queryset = currentTeams)
team_two = forms.ModelChoiceField(queryset = currentTeams)
但是,正如您所看到的那样,很难将campaignno写入查询中。理想情况下,我想从mysql表中选择最大的campaignno,并将其用作campaigno而不是上面的102501349。 mysql表和模型如下:
mySQL表:
mysql> desc straightred_userselection;
+-------------------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+----------------------+------+-----+---------+----------------+
| userselectionid | int(11) | NO | PRI | NULL | auto_increment |
| campaignno | varchar(36) | NO | | NULL | |
| teamselection1or2 | smallint(5) unsigned | NO | | NULL | |
| fixtureid | int(11) | YES | MUL | NULL | |
| teamselectionid | int(11) | NO | MUL | NULL | |
| user_id | int(11) | NO | MUL | NULL | |
+-------------------+----------------------+------+-----+---------+----------------+
Django模型:
class StraightredSeason(models.Model):
seasonid = models.IntegerField(primary_key = True)
seasonyear = models.CharField(max_length = 4)
seasonname = models.CharField(max_length = 36)
def __unicode__(self):
return self.seasonid
class Meta:
managed = True
db_table = 'straightred_season'
我希望这是有道理的,但如果您需要更多信息,请问:)
我非常感谢任何协助,非常感谢,Alan。
答案 0 :(得分:0)
最后到达那里:)
我使用了以下内容:
campaignnoquery = UserSelection.objects.filter(user=349).order_by('-campaignno')[:1]
for x in campaignnoquery:
test2 = x.campaignno
然后我可以使用test2作为变量。