Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

227
Views
Obtener la clave principal de la base de datos (Python / Django)

Estoy tratando de usar Hashids que funciona cuando ingreso manualmente el número para codificar, pero no funciona si trato de codificar la clave principal de cada fila de la tabla.

modelos.py

 from hashids import Hashids from django.db import models class AddToDatabase(models.Model): hashids = Hashids() # hasids.encode(123) works correctly slug = models.CharField(default=hashids.encode(pk), max_length=12)

Lo anterior dice que pk no está definido, independientemente de lo que intente importar.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

No puede hacer lo que está intentando ahora (ya que pk obtendrá valor solo después de la operación INSERT ). Una opción es

 class AddToDatabase(models.Model): hashids = Hashids() slug = models.CharField(max_length=12) def save(self, *args, **kwargs): super(AddToDatabase, self).save(*args, **kwargs) self.slug = self.hashids.encode(self.pk) super(AddToDatabase, self).save(*args, **kwargs)
over 4 years ago · Santiago Trujillo Report

0

Otra solución es calcular hashid bajo demanda.

 class AddToDatabase(models.Model): @property def slug(self): hashids = Hashids() return hashids.encode(self.pk)
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!