Я создаю приложение. Я пытаюсь сделать отображение полей для 2 разных моделей. Консультация и Консультационная серия. Функция list_display работает для консультации, но не для консультации. Он показывает только одно поле (start_date). В модели консультаций существует ссылка на ссылку на тип консультационной серии. Интересно, вызывает ли это проблему? Я добавил, чтобы создать отношения между родителями и детьми между консультацией и консультацией
Заранее благодарю за помощь
Я пытался использовать другой метод регистрации (с декоратором, с admin.site.register, admin.site.register (Consultation, ConsultationAdmmin)).
Models.py:
from django.contrib.auth.models import User
from django.db import models
import uuid
from datetime import date
from django.urls import reverse # Used to generate URLs by reversing the URL patterns
class ConsultationSerie(models.Model):
"""Model representing a consultation process (define by the relationship between a patient and a doctor) but notr a specific consultation"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text = 'Unique ID for this particular Consultation process' )
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
patient = models.ForeignKey('Patient', on_delete=models.SET_NULL, null=True)
doctor = models.ForeignKey('Doctor', on_delete=models.SET_NULL, null=True)
def __str__(self):
"Number representing the consultation process"
# return str(self.id)
return self.patient.lastname + "&" + self.doctor.lastname
def get_absolute_url(self):
"""Returns the url to access a detail record for this consultation process"""
return reverse('consultation-detail',args=[str(self.id)])
class Consultation(models.Model):
"""Model representing a specific consultation"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text='Unique ID for this particular consultation')
# consultationserie = models.ForeignKey(ConsultationSerie, on_delete=models.SET_NULL, null=True)
status = models.CharField(max_length=200)
start_date = models.DateField(null=True, blank=True)
end_date = models.DateField(null=True, blank=True)
CONSULTATION_STATUS = (
('o', 'reserved'),
('c', 'cancelled'),
('a', 'ajourned'),
('d', 'done'),
)
status = models.CharField(
max_length=1,
choices=CONSULTATION_STATUS,
blank=True,
default='o',
help_text='Consultation status',
)
class Meta:
ordering = ['start_date']
def __str__(self):
"""String for representing the Model object."""
# return f'{self.id} ({self.consultationserie.id})'
return str(self.start_date)
@property
def is_passed(self):
if self.end_date and date.today() > self.end_date:
return True
return False
Admin.py:
from django.contrib import admin
from monkyrosite.models import id_adress, Patient, Doctor, PatientInstance, DoctorInstance, ConsultationSerie, Consultation
admin.site.register(id_adress)
admin.site.register(Patient)
admin.site.register(PatientInstance)
admin.site.register(Doctor)
admin.site.register(DoctorInstance)
@admin.register(ConsultationSerie)
class ConsultationSerie(admin.ModelAdmin):
list_display = ('id','doctor','patient')
fieldsets = (
(None,{
'fields':('patient','doctor','id')
}),
)
@admin.register(Consultation)
class Consultation(admin.ModelAdmin):
list_diplay = ('status','start_date','end_date')
fieldsets = (
(None,{
'fields': ('status','start_date','end_date')
}),
)
Ожидаемый результат - start_date end_date и состояние, отображаемое в окне администратора, когда я нажимаю ссылку Consultations в Django Admin.
Заранее благодарю за помощь.