Как получить информацию из OneToOneField и использовать эту информацию в admin.py list_display?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как получить информацию из OneToOneField и использовать эту информацию в admin.py list_display?

Сообщение Anonymous »

Я делаю свой первый сайт, это мой первый большой проект, поэтому я застрял в одной проблеме и не могу ее решить. Вот часть моего кода с ошибкой:
модели. пи

Код: Выделить всё

...
class GField(models.Model):
golf_club_name = models.CharField(
primary_key=True,
max_length=100,
help_text='Enter a golf club (Gfield) name',

)
golf_field_par = models.PositiveIntegerField()
def __str__(self):
return f'{self.golf_club_name}'
class PlayerInstance(models.Model):
...
golf_field_playing = models.OneToOneField(GField, default = 'for_nothoing',on_delete=models.RESTRICT, help_text='where is it taking part?')
now_at_hole = models.IntegerField()
today = models.IntegerField()
R1 = models.IntegerField()
R2 = models.IntegerField()
R3 = models.IntegerField()
R4 = models.IntegerField()
R5 = models.IntegerField()
all_rounds = [R1, R2, R3, R4, R5]
counter = sum(1 for value in all_rounds if value != 0)
par_value = gfield_playing.golf_field_par
total = sum(all_rounds[:counter])
if par_value * counter total:
to_par = f'-{par_value * counter - total}'
...
Когда я сохраняю этот код, он отправляет:
par_value = gfield_playing.field_par

^^^^^^^ ^^^^^^^^^^^^^^^^^

AttributeError: объект OneToOneField не имеет атрибута field_par
И о admin.py, который вызывает ошибку отправки, когда я попробовал некоторые решения из Интернета, я действительно сделал «to_par» хорошо и исправил ошибку:
models.py

Код: Выделить всё

...
R2 = models.IntegerField()
R3 = models.IntegerField()
R4 = models.IntegerField()
R5 = models.IntegerField()
def calculate_to_par(self):
all_rounds = [self.R1, self.R2, self.R3, self.R4, self.R5]
counter = sum(1 for value in all_rounds if value != 0)
par_value = self.golf_field_playing.golf_field_par
total = sum(all_rounds[:counter])
if par_value * counter total:
self.to_par = f'-{par_value * counter - total}'
return self.to_par
...
но когда я попытался добавить «to_par» в admin.py list_display, он выдал ошибку типа или что-то в этом роде, поэтому через неделю Чтобы попытаться решить эту проблему, я здесь, чтобы воспользоваться помощью экспертов.
Я сказал то, что пробовал, выше.

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-in-admin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»