2009-09-15 16 views

Odpowiedz

10

CommaSeparatedIntegerField przychodzi na myśl natychmiast. Jest on zaimplementowany jako VARCHAR w większości baz danych. Aby być pewnym, możesz jednak przejrzeć wersję django/db/backends/*.

+0

że w zasadzie oznacza, że ​​muszę konwertować ciąg liczb całkowitych z powrotem do siebie? – Christian

+4

To jest super stara informacja. Aktualna strona deweloperska (ani aktualna: [v1.11] (https://docs.djangoproject.com/en/1.11/ref/models/fields/#commaseparatedintegerfield)), która nie została powiązana, nie wspomina o CommaSeparatedIntegerField . – VertigoRay

6

Aby uzyskać opis możliwej alternatywnej wersji programu CommaSeparatedIntegerField, który wykonałby więcej pracy za ciebie (konwertowanie z listy na łańcuch iz powrotem), zobacz stronę this answer. Może mógłbyś sprawdzić z tym facetem, czy już to napisał :-)

0

Wybrano odpowiedź nie jest poprawna dla późniejszego Django wersji tj CommaSeparatedIntergerField ma bardziej dostępny od Django 1.9:

From Docs:

Przestarzałe od wersji 1.9 : To pole jest przestarzałe na rzecz CharField z walidatorami = [validate_comma_separated_integer_list].


domyślnie ustawia oddzielony przecinkami listy całkowitą dziedzinie.

int_list_validator

Zwraca instancję RegexValidator który zapewnia ciąg składa się z liczb oddzielonych SEP. Pozwala ujemnym liczbom całkowitym, gdy 01_allow_negative ma wartość True.

from django.db import models 
from django.core.validators import int_list_validator 


class YourModel(models.Model): 
    .... 
    .... 
    int_list = models.CharField(validators=int_list_validator) 
    .... 
Powiązane problemy