cv.models

Reference for cv.models generated from docstrings.

Base Models

class cv.models.base.DisplayableModel(*args, **kwargs)[source]

Abstract class that includes fields shared by all models.

The abstract class defines three fields common to all models in Django-Vitae. The model is managed by cv.models.managers.DisplayManager, which is the default manager for all models that inherit from DisplayableModel

Parameters:
  • display (BooleanField) – (required)
  • extra (TextField) –
  • files (GenericRelation) –
class cv.models.base.Collaborator(*args, **kwargs)[source]

Representation of collaborator on publications or projects.

Collaborators represent all people listed in entries of a CV that are not the user. Django-Vitae uses the email attribute to identify and manage collaborators internally and must, therefore, be unique to each collaborator.

Collaborators are ordered alphabetically by last name by default.

Parameters:
  • id (AutoField) –
  • first_name (CharField) – (required)
  • last_name (CharField) – (required)
  • email (EmailField) – (required)
  • middle_initial (CharField) –
  • suffix (CharField) –
  • institution (CharField) –
  • website (URLField) –
  • alternate_email (EmailField) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.base.CollaborationModel(*args, **kwargs)[source]

Abstract model connecting collaborators to products.

Collaborators are tied to the user through specific collaborations. For example, a paper with two authors–the user and a collaborator–represents one collaboration that has unique characteristics such as the order of authorship. A second paper by the same two authors would represent a new collaboration. The abstract collaboration model allows for these connections across a variety of different collaboration types.

Fields:

collaborator : ForeignKey field to the Collaborator model.

print_middle : Should the collaborator’s middle initial be inlcuded in the CV entry?

display_order : Integer representing the order in which collaborators are listed.

Parameters:
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
class cv.models.base.StudentCollaborationModel(*args, **kwargs)[source]

Abstract collaboration model to note collaborations with students.

Often advisors wish to highlight collaborations with students on CVs. This abstract class adds a single field that allows the user to indicate whether a collaborator was a student and, if so, the level of the student (e.g., undergrad, masters, doctoral).

Parameters:student_colleague (IntegerField) –
class cv.models.base.Discipline(*args, **kwargs)[source]

Model that represents academic discipline.

Some models include a Foreign Key relationship to Discipline to allow instances to be classified by discipline (e.g., to sort CV by discipline in which articles are published).

Parameters:
  • id (AutoField) –
  • name (CharField) – (required)
  • slug (SlugField) – (required)
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.base.VitaeModel(*args, **kwargs)[source]

Reusable model containing basic titling and discipline fields.

Parameters:
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • other_disciplines (ManyToManyField) –
  • files (GenericRelation) –
class cv.models.base.VitaePublicationModel(*args, **kwargs)[source]

Reusable model with fields common to all types of publications.

The model uses cv.models.managers.PublicationManger to manage instances of the model. The PublicationManager is named displayable.

Internally managed fields: VitaePublicationModel instances include three fields managed internally related to publication status: is_published, is_inrevision, and is_inprep. The values of each of these boolean fields are set when cleaning the model instance. Django-Vitae also manages an abstract_html field internally to save an HTML version of markdown text saved in the abstract field.

Custom methods:

get_next_by_status() and get_previous_by_status mimic Django’s built-in methods get_next_by() and get_previous_by but inlcudes a constraint that the publication status must be the same as that of the current model instance.

cite() prints the instance’s citation using the CSL format defined in the CV_CITE_CSL_STYLE setting.

Parameters:
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • abstract (TextField) –
  • status (IntegerField) – (required)
  • pub_date (DateField) –
  • submission_date (DateField) –
  • is_published (BooleanField) – (required)
  • is_inrevision (BooleanField) – (required)
  • is_inprep (BooleanField) – (required)
  • abstract_html (TextField) –
  • other_disciplines (ManyToManyField) –
  • files (GenericRelation) –
save(*args, **kwargs)[source]

Sets publication status booleans and abstract text in HTML.

clean(*args, **kwargs)[source]

Checks ISBN validity.

get_next_previous_by_status(direc)[source]

Retrieves next or previous instance with same publication status.

get_primary_files()[source]

Return queryset of cv.models.CVFile objects designated as “primary files” associated with article.

cite(style='html', doi=True)[source]

Return citation of instance.

The format used for the citation is set using the CV_CITE_CSL_STYLE setting.

class cv.models.base.Journal(*args, **kwargs)[source]

Store object representing journal/periodical in field.

The model contains one internally managed field, title_no_article, which stores the name of the title without the leading articles ‘A’, ‘An’ or ‘The’. The field is used to alphabetize journals by titles without the leading article, per APA style.

The model includes an issn field that stores the International Standard Serial Number for the journal. Future versions might require the issn field to prevent duplicate journal entries and to allow automatic updating of journal lists.

Parameters:
  • id (AutoField) –
  • title (CharField) – (required)
  • abbreviated_title (CharField) – , Abbreviated journal title; use style you wish to display in views
  • issn (CharField) – , Enter ISSN in format: XXXX-XXXX
  • website (URLField) –
  • primary_discipline_id (ForeignKey to Discipline) –
  • title_no_article (CharField) –
  • other_disciplines (ManyToManyField) –
save(*args, **kwargs)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

exception DoesNotExist
exception MultipleObjectsReturned

Achievement Models

class cv.models.achievements.Award(*args, **kwargs)[source]

Award or honor earned.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • name (CharField) – (required)
  • organization (CharField) – (required)
  • date (DateField) – (required)
  • description (TextField) –
  • files (GenericRelation) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.achievements.Degree(*args, **kwargs)[source]

Degree earned.

Degrees are sorted in reverse order by end_date.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • degree (CharField) – (required)
  • major (CharField) –
  • date_earned (DateField) – (required)
  • institution (CharField) – (required)
  • city (CharField) –
  • state (CharField) –
  • country (CharField) –
  • honors (CharField) –
  • files (GenericRelation) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.achievements.Position(*args, **kwargs)[source]

Position of employment or research experience.

Positions are sorted by end_date.

In addition to default managers of DisplayableModel, Position also has a primarypositions manager that only returns positions for which primary_position==True. This manager can be used, for example, to list positions in the heading of CVs.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • start_date (DateField) – (required)
  • end_date (DateField) – , If current, set date to future (by default positions will be ordered by end date
  • project (CharField) –
  • department (CharField) –
  • institution (CharField) – (required)
  • current_position (BooleanField) – (required), Are you currently in this position?
  • primary_position (BooleanField) – (required), Should this position be displayed as the main position (e.g., on heading of CV)?
  • files (GenericRelation) –
clean()[source]

Ensure start date is before end date.

exception DoesNotExist
exception MultipleObjectsReturned

Publication Models

Defines Django-CV publication models.

class cv.models.publications.Article(*args, **kwargs)[source]

Store instance representing an article.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • abstract (TextField) –
  • status (IntegerField) – (required)
  • pub_date (DateField) –
  • submission_date (DateField) –
  • is_published (BooleanField) – (required)
  • is_inrevision (BooleanField) – (required)
  • is_inprep (BooleanField) – (required)
  • abstract_html (TextField) –
  • journal_id (ForeignKey to Journal) –
  • volume (CharField) –
  • issue (CharField) –
  • start_page (CharField) –
  • end_page (CharField) –
  • series (CharField) –
  • number (CharField) –
  • url (URLField) –
  • doi (CharField) –
  • pmcid (CharField) – , PubMed Central reference number (for more info see: https://publicaccess.nih.gov/include-pmcid-citations.htm#Difference)
  • pmid (CharField) – , PubMed Central reference number (for more info see: https://publicaccess.nih.gov/include-pmcid-citations.htm#Difference)
  • other_disciplines (ManyToManyField) –
  • authors (ManyToManyField) – (required)
  • grants (ManyToManyField) –
  • files (GenericRelation) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.ArticleAuthorship(*args, **kwargs)[source]

Store object relating collaborators to article.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • student_colleague (IntegerField) –
  • article_id (ForeignKey to Article) – (required)
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.Book(*args, **kwargs)[source]

Store instance representing a book.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • abstract (TextField) –
  • status (IntegerField) – (required)
  • pub_date (DateField) –
  • submission_date (DateField) –
  • is_published (BooleanField) – (required)
  • is_inrevision (BooleanField) – (required)
  • is_inprep (BooleanField) – (required)
  • abstract_html (TextField) –
  • publisher (CharField) –
  • place (CharField) –
  • volume (IntegerField) –
  • series (CharField) –
  • series_number (CharField) –
  • num_pages (IntegerField) –
  • isbn (CharField) –
  • url (URLField) –
  • other_disciplines (ManyToManyField) –
  • authors (ManyToManyField) – (required)
  • grants (ManyToManyField) –
  • files (GenericRelation) –
add_edition(**kwargs)[source]

Add edition to book.

get_editions()[source]

Return queryset of all editions associated with book.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.BookAuthorship(*args, **kwargs)[source]

Store authorship object relating collaborators to book.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • student_colleague (IntegerField) –
  • book_id (ForeignKey to Book) – (required)
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.BookEdition(*args, **kwargs)[source]

Store edition information of a book.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • book_id (ForeignKey to Book) – (required)
  • edition (CharField) – (required)
  • pub_date (DateField) –
  • submission_date (DateField) –
  • publisher (CharField) –
  • place (CharField) –
  • num_pages (IntegerField) –
  • isbn (CharField) –
  • files (GenericRelation) –
clean()[source]

Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.Chapter(*args, **kwargs)[source]

Store instance representing book chapter.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • abstract (TextField) –
  • status (IntegerField) – (required)
  • pub_date (DateField) –
  • submission_date (DateField) –
  • is_published (BooleanField) – (required)
  • is_inrevision (BooleanField) – (required)
  • is_inprep (BooleanField) – (required)
  • book_title (CharField) – (required)
  • volume (CharField) –
  • volumes (CharField) –
  • edition (CharField) –
  • publisher (CharField) –
  • place (CharField) –
  • series (CharField) –
  • series_number (CharField) –
  • start_page (CharField) –
  • end_page (CharField) –
  • isbn (CharField) –
  • url (URLField) –
  • abstract_html (TextField) –
  • other_disciplines (ManyToManyField) –
  • authors (ManyToManyField) – (required)
  • editors (ManyToManyField) – (required)
  • grants (ManyToManyField) –
  • files (GenericRelation) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.ChapterAuthorship(*args, **kwargs)[source]

Store object relating collaborators to article.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • student_colleague (IntegerField) –
  • chapter_id (ForeignKey to Chapter) – (required)
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.ChapterEditorship(*args, **kwargs)[source]

Store object relating editors to chapter.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • chapter_id (ForeignKey to Chapter) – (required)
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.Report(*args, **kwargs)[source]

Store instance representing reports.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • abstract (TextField) –
  • status (IntegerField) – (required)
  • pub_date (DateField) –
  • submission_date (DateField) –
  • is_published (BooleanField) – (required)
  • is_inrevision (BooleanField) – (required)
  • is_inprep (BooleanField) – (required)
  • report_number (CharField) –
  • report_type (CharField) –
  • series_title (CharField) –
  • place (CharField) –
  • institution (CharField) –
  • pages (CharField) –
  • url (URLField) –
  • doi (CharField) –
  • abstract_html (TextField) –
  • other_disciplines (ManyToManyField) –
  • authors (ManyToManyField) – (required)
  • grants (ManyToManyField) –
  • files (GenericRelation) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.publications.ReportAuthorship(*args, **kwargs)[source]

Store object relating collaborators to report.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • student_colleague (IntegerField) –
  • report_id (ForeignKey to Report) – (required)
exception DoesNotExist
exception MultipleObjectsReturned

Works Models

class cv.models.works.Grant(*args, **kwargs)[source]

Create instance of funded grant.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • source (IntegerField) – (required), Internal/external source of funding
  • agency (CharField) –
  • agency_acronym (CharField) –
  • division (CharField) –
  • division_acronym (CharField) –
  • grant_number (CharField) –
  • amount (IntegerField) – (required)
  • start_date (DateField) – (required)
  • end_date (DateField) –
  • role (CharField) –
  • is_current (BooleanField) – (required)
  • abstract (TextField) –
  • abstract_html (TextField) –
  • other_disciplines (ManyToManyField) –
  • collaborators (ManyToManyField) – (required)
  • files (GenericRelation) –
save(force_insert=False, force_update=False, *args, **kwargs)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.works.GrantCollaboration(*args, **kwargs)[source]

Store object relating collaborators to grant.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • grant_id (ForeignKey to Grant) – (required)
  • is_pi (BooleanField) – (required)
  • role (CharField) –
exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.works.Talk(*args, **kwargs)[source]

Store object representing a talk.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • abstract (TextField) –
  • abstract_html (TextField) –
  • latest_presentation_date (DateField) –
  • created (DateField) –
  • modified (DateField) –
  • other_disciplines (ManyToManyField) –
  • collaborator (ManyToManyField) –
  • grants (ManyToManyField) –
  • files (GenericRelation) –
save(force_insert=False, force_update=False, *args, **kwargs)[source]

Save the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.works.Presentation(*args, **kwargs)[source]

Create an instance in which a talk was given.

This model creates separate objects for each time the same talk was given.

Parameters:
  • id (AutoField) –
  • talk_id (ForeignKey to Talk) – (required)
  • presentation_date (DateField) – (required)
  • type (IntegerField) – (required)
  • event (CharField) – (required)
  • event_acronym (CharField) –
  • city (CharField) –
  • state (CharField) –
  • country (CharField) –
save(*args, **kwargs)[source]

Save latest presentation date in related talk if instance is later than current latest presentation date.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.works.OtherWriting(*args, **kwargs)[source]

Create an instance of writing in venues other than traditional scholarly venues.

Default ordering by type and then date in descending order.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • type (CharField) – , Genre of writing (e.g., ‘book review’,’op ed’, ‘blog post’) that can be used for grouping contributions by type.
  • abstract (TextField) –
  • venue (CharField) – (required)
  • date (DateField) – (required)
  • pages (CharField) –
  • url (URLField) –
  • place (CharField) –
  • volume (CharField) –
  • issue (CharField) –
  • abstract_html (TextField) –
  • other_disciplines (ManyToManyField) –
  • files (GenericRelation) –
save(force_insert=False, force_update=False, *args, **kwargs)[source]

Saves abstract in html format.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.works.Dataset(*args, **kwargs)[source]

Stores instance representing a dataset.

Parameters:
  • id (AutoField) –
  • display (BooleanField) – (required)
  • extra (TextField) –
  • title (CharField) – (required)
  • short_title (CharField) – (required)
  • slug (SlugField) – (required), Automatically built from short title
  • primary_discipline_id (ForeignKey to Discipline) –
  • pub_date (DateField) –
  • version_number (CharField) –
  • format (CharField) – , Form of data (e.g., ‘Datafile and Codebook’ or ‘Datafile’)
  • producer (CharField) –
  • producer_place (CharField) –
  • distributor (CharField) –
  • distributor_place (CharField) –
  • retrieval_url (URLField) – , Used for URL linked to dataset
  • available_from_url (URLField) – , Used to link to a download page
  • doi (CharField) –
  • other_disciplines (ManyToManyField) –
  • authors (ManyToManyField) – (required)
  • files (GenericRelation) –
get_absolute_url()[source]

“Returns reverse URL for an instance of a dataset.

exception DoesNotExist
exception MultipleObjectsReturned
class cv.models.works.DatasetAuthorship(*args, **kwargs)[source]

Store object relating creators of dataset to a dataset instance.

Parameters:
  • id (AutoField) –
  • collaborator_id (ForeignKey to Collaborator) – (required)
  • print_middle (BooleanField) – (required), Display author’s middle initial?
  • display_order (IntegerField) – (required), Order that collaborators should be listed
  • student_colleague (IntegerField) –
  • dataset_id (ForeignKey to Dataset) – (required)
exception DoesNotExist
exception MultipleObjectsReturned