code: def save(self, *args, **kwargs):
          if self.publication:
              publication = self.publication
              if not self.title:
                  self.title = publication.title
              if not self.subtitle:
                  first_author = publication.first_author
                  if first_author == publication.last_author:
                      authors = first_author
                  else:
                      authors = '{} et al.'.format(first_author)
                  self.subtitle = '{}, {} ({})'.format(authors,
                      publication.journal, publication.year)
              if not self.description:
                  self.description = publication.abstract
              if self.publication.year and not self.pk:
                  delta = timezone.now() - self.publish_datetime
                  if self.publish_datetime <= timezone.now() and delta.days == 0:
                      self.publish_datetime = datetime.datetime(
                          year=int(self.publication.year),
                          month=int(self.publication.month or 1),
                          day=int(self.publication.day or 1),
                      )
          super().save(*args, **kwargs)