Project

Profile

Help

Issue #3767

closed

Unable to save models with relation to Content with changeset

Added by bizhang almost 6 years ago. Updated almost 5 years ago.

Status:
CLOSED - NOTABUG
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

In python we have a relational table that maps classifiers to Python content [0]
There is no current way to create and save this Classifier model when using changesets, since changesets is the thing calling save() on the Content model.

def _build_additions(delta, remote_metadata):
    def generate():
        for entry in remote_metadata:
            classifiers = entry.pop('classifiers', [])
            artifact = models.Artifact(sha256=entry.pop('sha256_digest'))
            package = python_models.PythonPackageContent(**entry)
            content = PendingContent(
                package,
                artifacts={
                    PendingArtifact(model=artifact, url=url, relative_path=entry['filename'])
                })
            for classifier in classifiers:
                temp = python_models.Classifier(name=classifier, python_package_content=package)
                temp.save() #<----------- This doesn't work because package isn't saved yet
            yield content

[0] https://github.com/pulp/pulp_python/blob/f3e01816b7e4e63d75bfb5566a06198809cf2566/pulp_python/app/models.py#L16


Related issues

Related to Pulp - Issue #3812: Pulp3 Content models are not compatible with bulk_saveCLOSED - WONTFIXdalleyActions
Blocks Python Support - Issue #3627: As a user, sync includes classifiersMODIFIEDActions

Also available in: Atom PDF