Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

221
Vistas
Crea un nombre único para el grupo cuando lo crea un usuario en django

Estoy tratando de crear una aplicación que le permita a mi usuario crear una casa y luego poder agregar ocupantes.

Sin embargo, mi problema es que el nombre de la casa debe ser único, hasta ahora guarda el nombre como Auth.user, ¿cómo obtengo su nombre de usuario y luego lo guardo junto con la casa? Entonces, por ejemplo, "Jonsmith House"

esto es lo que tengo hasta ahora

 User = settings.AUTH_USER_MODEL class House(models.Model): owner = models.ForeignKey(User, null=True, blank=True) name = models.CharField(max_length=50) def save(self, *args, **kwargs): self.name = User super(House, self).save(*args, **kwargs) def __unicode__(self): return smart_text(self.name) class Occupant(models.Model): house = models.ForeignKey(House) occupants = models.ForeignKey(User)

Espero que esto tenga sentido, gracias

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Por lo que entiendo, necesita una aplicación que le permita a su usuario crear una Casa y luego poder agregar Ocupantes.

Además, el nombre de su casa debe ser el que tiene su usuario (quien lo creó) + "Casa".

Entonces algo como esto debería ser suficiente.

 class House(models.Model): # name of the house name = models.CharField(max_length=20, null=True, blank=True) owner = models.OneToOneField(User, null=True, blank=True)

Dado que solo necesita un usuario único como propietario de la casa y cada casa tiene un solo propietario, debe establecer la relación OneToOne. Si necesita consultar su hora como mencionó (junto con el nombre de usuario del propietario), anule el método de guardar,

 def save(self, *args, **kwargs): self.name = "%s House" % (self.owner.username) super(House, self).save(*args, **kwargs)

Ahora, para un ocupante, cada usuario puede ser ocupante de una casa, pero solo de una, supongo.

 class Occupant(models.Model): house = models.ForeignKey(House, null=True, blank=True) user = models.ForeignKey(User, null=True, blank=True) name = models.CharField(max_length=32, null=True, blank=True)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda