Я пытаюсь сделать formset со следующими моделями (повышение является основным):
class boost(models.Model):
creator = models.ForeignKey(userInfo)
game = models.ForeignKey(gameInfo)
name = models.CharField(max_length=200)
desc = models.CharField(max_length=500)
rules = models.CharField(max_length=500)
subscribe = models.IntegerField(default=0)
class userInfo(models.Model):
pic_url= models.URLField(default=0, blank=True)
auth = models.ForeignKey(User, unique=True)
birth = models.DateTimeField(default=0, blank=True)
country= models.IntegerField(default=0, blank=True)
class gameInfo(models.Model):
psn_id = models.CharField(max_length=100)
name = models.CharField(max_length=200)
publisher = models.CharField(max_length=200, default=0)
developer = models.CharField(max_length=200, default=0)
release_date = models.DateTimeField(blank=True, null=True)
Я хочу отобразить форму для добавления элемента Boost, пытаясь сделать так:
TrophyFormSet = inlineformset_factory(db.gameInfo, db.boost, extra=1)
formset = TrophyFormSet()
Вот мои вопросы:
1 - При рендеринге в поле со списком «Создатель» отображается список «db.userInfo» (буквально)! Я хочу, чтобы это отображало db.userInfo.auth.username, которые уже есть в базе данных ... как это сделать?
2 - Где выбрать «db.gameInfo»?
спасибо! = D
======
Чархаич очень хорошо ответил на мой вопрос!
Но сейчас мне нужен небольшой вопрос:
Когда я использую модель для создания формы для модели boost_trophy:
class boost_trophy(models.Model):
boost = models.ForeignKey(boost)
trophy = models.ForeignKey(gameTrophyInfo)
# 0 - Obtiveis
# 1 - Requisitos minimos
type = models.IntegerField(default=0)
class gameTrophyInfo(models.Model):
game = models.ForeignKey(gameInfo)
name = models.CharField(max_length=500)
desc = models.CharField(max_length=500)
type = models.CharField(max_length=20)
его работа хороша, но я хочу, чтобы форма отображала в поле "игра" только очень маленький набор итэнов, только результаты: gameTrophyInfo (game__name = "Game_A") Как я могу это сделать?