У меня две модели. Один - «Задача», а другой - «Вступление», и я могу видеть обзор всех записей, сделанных для каждой задачи, в панели администратора Django. Я хотел бы создать аналогичную страницу для вошедшего в систему пользователя, чтобы отобразить, какие записи он создал в БД.
Я пытался получить их, используя данные журнала с классом LogEntry, но я застрял на этом. Кто-нибудь знает эффективный способ сделать это?
У меня есть следующие модели
class Profile(models.Model):
# Relations
user = models.OneToOneField(
User,
related_name="profile",
verbose_name=_("user")
)
# Attributes - Mandatory
interaction = models.PositiveIntegerField(
default=0,
verbose_name=_("interaction")
)
inter_time = models.DateTimeField(auto_now=True)
# Attributes - Optional
# Object Manager
objects = managers.ProfileManager()
# Custom Properties
@property
def username(self):
return self.user.username
# Meta and String
class Meta:
verbose_name = _("Profile")
verbose_name_plural = _("Profiles")
ordering = ("user",)
def __str__(self):
return self.user.username
#@receiver(post_save, sender=settings.AUTH_USER_MODEL)
@receiver(post_save, sender=User)
def create_profile_for_new_user(sender, created, instance, **kwargs):
if created:
profile = Profile(user=instance)
profile.save()
def login_user(sender, request, user, **kwargs):
user.profile.interaction += 1
user.profile.save()
user_logged_in.connect(login_user)
class Task(models.Model):
task_name = models.CharField(max_length=250)
task_time = models.DecimalField(max_digits=3, decimal_places=2)
def __unicode__(self):
return self.task_name
# Object Manager
#objects = managers.TaskManager()
# Meta and String
class Meta:
verbose_name = _("Task")
verbose_name_plural = _("Tasks")
class Entry(models.Model):
select_task = models.ForeignKey(Task, related_name="entries")
entry_quantity = models.IntegerField(default=0)
entry_date = models.DateField('Task performed date')
publication_date = models.DateField(auto_now_add=True)
def __unicode__(self):
return u'%s' % self.entry_quantity
# Object Manager
#objects = managers.EntryManager()
# Meta and String
class Meta:
verbose_name = _("Entry")
verbose_name_plural = _("Entries")
Это то, что у меня есть в Admin. Я хочу, чтобы что-то подобное было для каждого пользователя (покажет записи, сделанные только этим пользователем) на странице профиля пользователя. Мне пришлось пересечь задачи, так как продукт не принадлежит мне.