ID = models.IntegerField(primary_key=True)
ID = models.AutoField(primary_key=True)
. Но django автоматически добавляет id = models.AutoField(primary_key=True)
, если не находит явно указанный primary_key, так что проще вообще этот мой ID убрать, и оставить джанговский if form.is_valid():
instance = Picture(name=request.POST['name'])
instance.pic_file = request.FILES['pic_file']
instance.save()
class MyImageField(models.ImageField):
def generate_filename(self, instance, filename):
return os.path.join(self.get_directory_name(), models.IntegerField.value_to_string(instance.ID))
class PictureFileStorage(FileSystemStorage):
def get_available_name(self, name):
#тут я переопределяю
picture_storage = FileSystemStorage(location=MEDIA_ROOT+"/images", base_url=MEDIA_URL+"images/")
Пока что я использую SQLite, который в Django по умолчанию.