Model unique_for_month changes ability to partially update ModelSerializer
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
Direzione di ricerca
Riproduci l'esempio di aggiornamento parziale di PostSerializer con SlugField.unique_for_month e parti dalla validazione di ModelSerializer. Traccia il motivo per cui slug e pub_date diventano obbligatori quando viene fornito solo title; il lavoro è completato quando l'aggiornamento parziale viene convalidato e salva la modifica a title senza richiedere i campi invariati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
If I have a model and a ModelSerializer, then I can partially update model instances using the serializer. For instance, given a Post model, and a basic PostSerializer, shown below, I can update a Post instance using the serializer.
class Post(Model):
title = CharField(max_length=63)
slug = SlugField(max_length=63)
pub_date = DateField(default=date.today)
class PostSerializer(ModelSerializer):
class Meta:
model = Post
fields = "__all__"
I use the code below to achieve the actual update.
post = Post.objects.create(title="first", slug="slug")
s_post = PostSerializer(instance=post, data={"title": "second"}, partial=True)
if s_post.is_valid():
s_post.save() # updates the title from first->second
The problem is that if I add a unique_for_month constraint on the SlugField, I lose the ability to use the code above.
class Post(Model):
title = CharField(max_length=63)
slug = SlugField(max_length=63, unique_for_month="pub_date")
pub_date = DateField(default=date.today)
If I run the update code with the PostSerializer as shown above, then the serializer will have the following errors:
{
'slug': [
ErrorDetail(
string='This field is required.',
code='required'
),
],
'pub_date': [
ErrorDetail(
string='This field is required.',
code='required'
)
],
}
I believe this is a bug, but apologize if I've misunderstood.
- Lingua principale
- Python
- Stelle
- 30.2k
- Fork
- 7.1k
- Merge medio
- 1g 21h
- PR unite (30g)
- 20
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di encode/django-rest-framework
-
Documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
encode/django-rest-framework#3460 · 37 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
a viewset's action list gets "head" added to it, but only after being called at least onceForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
encode/django-rest-framework#9747 · 8 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Performance issue: N+1 queries and slow validation when using many=True with serializers containing relational fieldsForse già presa @adelkhayata76 l’ha presa 114 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
encode/django-rest-framework#9607 · 14 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
BookListSerializer example for create case is still flawedForse già presa @AyushDharDubey l’ha presa 638 giorni fa. Apertastale
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
encode/django-rest-framework#9469 · 4 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Not possible to override serializer_field_mappings with a field that has choices (for example a from ChoiceField derived field)Forse già presa @G-Glitch404 l’ha presa 2 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
encode/django-rest-framework#9179 · 9 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di encode/django-rest-framework
Issue simili
-
enhancement good first issue Stellar Wave trivial
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
StellarCanary/ProtocolCanary-Fixtures#258 ·
I maintainer di solito rispondono entro 1 giorno
-
github_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Hochfrequenz/aibap.mcp#578 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mishraprafful/multihull#150 ·
I maintainer di solito rispondono entro 1 giorno
-
mp: /status reports the server class name as engine_type, not the configured engineForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
python-caldav/caldav#735 ·
I maintainer di solito rispondono entro 1 giorno