Actions
Task #3950
closedTag model
Start date:
Due date:
% Done:
0%
Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:
Description
Create the Tag model.
Tag(Content):
- name CharField(255)
- manifest ForeignKey(Manifest, null=True, related_name='tags', on_delete=CASCADE)
- manifest_list ForeignKey(ManifestList, null=True, related_name='tags', on_delete=CASCADE)
unique_together = (name, manifest)
unique_together = (name, manifest_list)
Design assumptions:
- Pre-save validation on the model ensures that one-of but not both manifest and manifest_list are set.
- Tag name uniqueness and referential integrity{1} will be enforced by the plugin. During sync, this happens in the task logic. For content add/remove API calls, this happens in the (docker specific) view. Both can re-use the same code.
[1] Tag referential integrity is ensuring that when a manifest or manifest_list is removed from a repository, referencing tags are also removed. Also, when a tag is added to a repository, referenced manifest or manifest_list are also added.
Related issues
Actions