Articles of django modelos

Django ForeignKey que no requiere integridad referencial?

Me gustaría configurar un campo ForeignKey en un modelo de django que apunte a otra tabla en algún momento. Pero quiero que esté bien insertar un ID en este campo que se refiere a una entrada en la otra tabla que podría no estar allí. Entonces, si la fila existe en la otra tabla, me […]

Django 1.5 + relación de modelo de usuario

Django 1.5+ nos permite agregar campos personalizados a un usuario. Quiero usar este hecho, pero no necesariamente sé qué es una buena práctica. Aquí hay una situación en la que estoy confundido sobre cómo manejar los modelos. Dada la opción de agregar campos al User , si un proyecto solo tiene un tipo de User […]

¿Cómo puedo determinar si la instancia de clase del modelo Django es una subclase de otro modelo?

Tengo una clase llamada BankAccount como clase base. También tengo clases CheckingAccount y SavingsAccount que heredan de BankAccount . BankAccount no es una clase abstracta, pero no creo un objeto a partir de ella, solo las clases heredadas. Luego, ejecuto una consulta como esta: account = BankAccount.objects.get(id=10) ¿Cómo puedo saber si la cuenta es CheckingAccount […]

Manejo de la condición de carrera en modelo.

¿Cómo se debe manejar una posible condición de carrera en el método save() un modelo? Por ejemplo, el siguiente ejemplo implementa un modelo con una lista ordenada de elementos relacionados. Al crear un nuevo artículo, el tamaño de la lista actual se utiliza como su posición. Por lo que puedo decir, esto puede ir mal […]

Modelos Django (1054, “Columna desconocida en ‘lista de campos'”)

No tengo idea de por qué este error está apareciendo. Aquí están los modelos que he creado: from django.db import models from django.contrib.auth.models import User class Shows(models.Model): showid= models.CharField(max_length=10, unique=True, db_index=True) name = models.CharField(max_length=256, db_index=True) aka = models.CharField(max_length=256, db_index=True) score = models.FloatField() class UserShow(models.Model): user = models.ForeignKey(User) show = models.ForeignKey(Shows) Aquí está la vista desde […]

¿Cómo encuentro la “clase concreta” de una clase de base de modelo de django?

Estoy tratando de encontrar la clase real de un objeto de modelo django, cuando uso la herencia de modelo. Algún código para describir el problema: class Base(models.model): def basemethod(self): … class Child_1(Base): pass class Child_2(Base): pass Si creo varios objetos de las dos clases secundarias y creo un queryset que los contiene a todos: Child_1().save() […]

Django o similar para claves primarias compuestas

Estoy escribiendo una aplicación web para mi empresa de ingeniería (advertencia: soy un progtwigdor solo por afición) y estaba planeando usar Django hasta que llegara a este obstáculo. Los modelos que quiero usar naturalmente tienen claves primarias de varias columnas. Según http://code.djangoproject.com/ticket/373 , no puedo usar Django, al menos no una versión publicada. ¿Puede alguien […]

Modelo proxy Django y ForeignKey

¿Cómo hacer entry.category para ser instancia de CategoryProxy? Ver código para más detalles: class Category(models.Model): pass class Entry(models.Model): category = models.ForeignKey(Category) class EntryProxy(Entry): class Meta: proxy = True class CategoryProxy(Category): class Meta: proxy = True entry = EntryProxy.objects.get(pk=1) entry.category # !!! I want CategoryProxy instance here La conversión de Categoría a Categoría Proxy también está […]

Recargar objeto django desde la base de datos

¿Es posible actualizar el estado de un objeto django desde la base de datos? Me refiero a un comportamiento más o menos equivalente a: new_self = self.__class__.objects.get(pk=self.pk) for each field of the record: setattr(self, field, getattr(new_self, field)) ACTUALIZACIÓN: Encontré una guerra reabrir / no en el rastreador: http://code.djangoproject.com/ticket/901 . Todavía no entiendo por qué a […]

¿Cómo puedo obtener mediante progtwigción la longitud máxima de un campo de modelo de Django?

Digamos que tengo una clase de Django algo como esto: class Person(models.Model): name = models.CharField(max_length=50) # … ¿Cómo puedo obtener programáticamente el valor de max_length para el campo de name ?