Increase performance on find_existing_attribute_option_group query#338
Open
viggo-devries wants to merge 22 commits intomainfrom
Open
Increase performance on find_existing_attribute_option_group query#338viggo-devries wants to merge 22 commits intomainfrom
viggo-devries wants to merge 22 commits intomainfrom
Conversation
* Implemented faster attributes save * renamed for clarity
…ct to avoid transferring (#331) attributesvalues from parent to child.
Use the same database as the passed-in manager
* The image and file fields where nolonger working. This PR restores that functionality. * nergens voor
When an image product attribute is `null`, the product API would throw the
following exception:
```
ValueError: The 'value_image' attribute has no file associated with it.
[…]
File "rest_framework/serializers.py", line 522, in to_representation
ret[field.field_name] = field.to_representation(attribute)
File "rest_framework/serializers.py", line 686, in to_representation
return [
File "rest_framework/serializers.py", line 687, in <listcomp>
self.child.to_representation(item) for item in iterable
File "rest_framework/serializers.py", line 522, in to_representation
ret[field.field_name] = field.to_representation(attribute)
File "oscarapi/serializers/fields.py", line 227, in to_representation
return value.value.url
File "django/db/models/fields/files.py", line 66, in url
self._require_file()
File "django/db/models/fields/files.py", line 41, in _require_file
raise ValueError(
```
This patch fixes this by checking if the image field has a value before trying
to generate a URL.
Fixes handling of null product image attributes
specialunderwear
requested changes
Apr 12, 2024
Member
specialunderwear
left a comment
There was a problem hiding this comment.
@viggo-devries this code is non working, see the test results
specialunderwear
requested changes
May 15, 2024
oscarapi/utils/exists.py
Outdated
| AttributeOptionGroup.objects.filter(name=name) | ||
| .annotate(options_count=models.Count("options")) | ||
| .filter(options_count=len(options)) | ||
| .filter(options__option__in=options) |
Member
There was a problem hiding this comment.
why 2 times filter?
why not
.filter(options_count=len(options), options__option__in=options)
34e5a05 to
f65e2e8
Compare
Add category bulk admin api
When trying to create alot of options this is really slow
f65e2e8 to
bc28a39
Compare
99be27a to
045eafa
Compare
Member
|
@viggo-devries You have to rebase and do this again, there are way too many conflicts for me to be able to merge this. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When trying to create alot of options this is really slow