Django ma różne pola numeryczne dostępne do użycia w modelach, np. DecimalField i PositiveIntegerField . Chociaż to pierwsze można ograniczyć do liczby przechowywanych miejsc dziesiętnych i ogólnej liczby przechowywanych znaków, czy istnieje sposób, aby ograniczyć je do przechowywania tylko liczb z określonego zakresu, np. 0,0–5,0? Jeśli to się nie uda, …
Definiuję teraz moje modele Django i zdałem sobie sprawę, że nie ma OneToManyFieldw modelu pól typów. Jestem pewien, że można to zrobić, więc nie wiem, czego mi brakuje. Zasadniczo mam coś takiego: class Dude(models.Model): numbers = models.OneToManyField('PhoneNumber') class PhoneNumber(models.Model): number = models.CharField() W tym przypadku, każdy Dudemoże mieć wiele PhoneNumbers, …
Czy istnieje sposób na wydrukowanie zapytania generowanego przez Django ORM? Powiedz, że wykonuję następującą instrukcję: Model.objects.filter(name='test') Jak mogę zobaczyć wygenerowane zapytanie SQL?
Chciałbym zaktualizować tabelę za pomocą Django - coś takiego w surowym SQL: update tbl_name set name = 'foo' where name = 'bar' Mój pierwszy wynik jest taki - ale to paskudne, prawda? list = ModelClass.objects.filter(name = 'bar') for obj in list: obj.name = 'foo' obj.save() Czy jest bardziej elegancki sposób?
Pracuję nad aplikacją z wieloma dzierżawcami , w której niektórzy użytkownicy mogą definiować własne pola danych (za pośrednictwem administratora), aby zbierać dodatkowe dane w formularzach i raportować dane. Ten ostatni bit sprawia, że JSONField nie jest świetną opcją, więc zamiast tego mam następujące rozwiązanie: class CustomDataField(models.Model): """ Abstract specification for …
Biorąc pod uwagę klasę: from django.db import models class Person(models.Model): name = models.CharField(max_length=20) Czy jest możliwe, a jeśli tak, to w jaki sposób, mieć zestaw QuerySet filtrujący na podstawie dynamicznych argumentów? Na przykład: # Instead of: Person.objects.filter(name__startswith='B') # ... and: Person.objects.filter(name__endswith='B') # ... is there some way, given: filter_by = …
Czy można odświeżyć stan obiektu django z bazy danych? Mam na myśli zachowanie mniej więcej równoważne z: new_self = self.__class__.objects.get(pk=self.pk) for each field of the record: setattr(self, field, getattr(new_self, field)) AKTUALIZACJA: Znaleziono ponownie otwartą / wontfix wojnę w trackerze: http://code.djangoproject.com/ticket/901 . Nadal nie rozumiem, dlaczego opiekunom to się nie podoba.
Jaki jest najlepszy sposób na automatyczne ustawienie daty utworzenia obiektu, a także pola, które będzie rejestrować, kiedy obiekt był ostatnio aktualizowany? models.py: created_at = models.DateTimeField(False, True, editable=False) updated_at = models.DateTimeField(True, True, editable=False) views.py: if request.method == 'POST': form = MyForm(request.POST) if form.is_valid(): obj = form.save(commit=False) obj.user = request.user obj.save() return …
Jestem po prostu ciekawy, czy ktoś wie, czy jest dobry powód, dla którego orm django nie wywołuje „full_clean” na modelu, chyba że jest on zapisywany jako część formularza modelu. Zauważ, że full_clean () nie zostanie wywołana automatycznie po wywołaniu metody save () twojego modelu. Będziesz musiał wywołać to ręcznie, jeśli …
Prowadziłem debatę na ten temat z kilkoma kolegami. Czy istnieje preferowany sposób pobierania obiektu w Django, gdy spodziewasz się tylko jednego? Dwa oczywiste sposoby to: try: obj = MyModel.objects.get(id=1) except MyModel.DoesNotExist: # We have no object! Do something... pass I: objs = MyModel.objects.filter(id=1) if len(objs) == 1: obj = objs[0] …
Obecnie mam wiele obiektów Pythona w moim kodzie, podobnych do następujących: class MyClass(): def __init__(self, name, friends): self.myName = name self.myFriends = [str(x) for x in friends] Teraz chcę przekształcić to w model Django, w którym self.myName to pole tekstowe, a self.myFriends to lista ciągów. from django.db import models class …
W Django, jaka jest różnica między następującymi dwoma: Article.objects.values_list('comment_id', flat=True).distinct() vs Article.objects.values('comment_id').distinct() Moim celem jest uzyskanie listy unikalnych identyfikatorów komentarzy pod każdym z nich Article. Przeczytałem dokumentację (i faktycznie użyłem obu podejść). Wyniki jawnie wydają się podobne.
Czy mogę wykonać dumpdataw Django tylko jeden model, a nie całą aplikację, a jeśli tak, to w jaki sposób? W przypadku aplikacji byłoby to: python manage.py dumpdata myapp Jednak chcę, aby jakiś konkretny model, taki jak „myapp.mymodel”, został zrzucony. Powodem jest to, że mam kilka ogromnych 3 milionów rekordów plus …
Jak uruchomić instrukcje updatei selectna tym samym, querysetzamiast wykonywać dwa zapytania: - jedno do wybrania obiektu - drugie do zaktualizowania obiektu Odpowiednik w SQL wyglądałby tak: update my_table set field_1 = 'some value' where pk_field = some_value
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.