Я пытаюсь создать уникальный пул в Django, чтобы получить доступ к сообщению через URL-адрес: http://www.example.com/buy-a-new-bike_Boston-MA-02111_2
Соответствующие модели:
class ZipCode(models.Model):
zipcode = models.CharField(max_length=5)
city = models.CharField(max_length=64)
statecode = models.CharField(max_length=32)
class Need(models.Model):
title = models.CharField(max_length=50)
us_zip = models.CharField(max_length=5)
slug = ?????
def get_city():
zip = ZipCode.objects.get(zipcode=self.us_zip)
city = "%s, %s %s" % (zip.city, zip.statecode, zip.zipcode)
return city
Пример записи ZipCode:
- zipcode = "02111"
- city = "Бостон"
- statecode = "MA"
Образец Требуется запись:
- title= "купить новый велосипед"
- us_zip = "02111"
- slug = "buy-a-new-bike_Boston-MA-02111_2" (желательно)
Любые советы о том, как создать этот уникальный слизень? Его состав:
- Need.title + "_" + Need.get_city() + "_" + добавочное целое число, чтобы сделать его уникальным. Все пробелы должны быть заменены на "-".
ПРИМЕЧАНИЕ. Мой желаемый слизень предполагает, что пул "buy-a-new-bike_Boston-MA-02111" уже существует, и это то, к чему оно добавлено "_2", чтобы сделать его уникальным.
Я пробовал django-extensions, но, похоже, для построения уникального пула он может использовать поле или кортеж полей. Мне нужно передать функцию get_city(), а также соединитель "_" между заголовком и городом. Кто-нибудь решил это и захотел поделиться?
Спасибо!
UPDATE
Я уже использую django-расширения для своего UUIDField, поэтому было бы неплохо, если бы оно также могло быть использовано для его AutoSlugField!