Tôi chỉ muốn hiển thị các cầu thủ liên quan đến đội trong một trận đấu cụ thể. Thông thường khi tôi làm điều đó, nó cho tôi thấy tất cả người chơi của tôi từ cơ sở dữ liệu. Dưới đây là models.py tôiformfield_for_foreignkey và Inline Admin
class InningsCard(models.Model):
fixture = models.ForeignKey(Fixture)
team = models.ForeignKey(Team)
runs = models.IntegerField(max_length=6, default=0)
wickets = models.IntegerField(max_length=6, default=0)
overs = models.FloatField(max_length=6, default=0.0)
def __unicode__(self):
return str(self.team)
class BattingDetail(models.Model):
STATUS_CHOICES = (
('no', 'not out'),
('bowled', 'bowled'),
('caught', 'caught'),
('lbw', 'lbw'),
)
innings = models.ForeignKey(InningsCard)
player = models.ForeignKey(Player)
runs = models.IntegerField(max_length=5, default=0)
status = models.CharField(max_length=15, choices=STATUS_CHOICES, default='no')
def __unicode__(self):
return str(self.player)
Bây giờ và ở đây là admin.py tôi để bao gồm formfield_for_foreignkey, nhưng nó không hoạt động.
class BattingInline(admin.TabularInline):
model = BattingDetail
extra = 0
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
if db_field.name == 'player':
kwargs = Player.objects.filter(team = request.team)
else:
pass
return super(BattingInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
class InningCardAdmin(admin.ModelAdmin):
inlines = [BattingInline]
tôi có thể gặp vấn đề gì?
// chuột