I don't think that will work because the default value is unrelated to a
specific instance of a model and you want it to depend on the instance if
I'm not mistaken. Once the instance exists, we're past the point where a
default value will be used.
I think you'll have to handle this in a view.
I should be more specific: I cannot because the query depends on the
object instance:
class MyModel(models.Models):
fkey = models.ForeignKey(..., null=False)
count =
models.PosotiveIntegerField(default=lambda:MyModel.objects.filter(fkey_id= _?_
).count())
where _?_ should be the mod
You can achieve this by setting a callable default value [1] on you field:
class MyModel(models.Model):
count =
models.PositiveIntegerField(default=lambda:MyModel.objects.count())
[1]
https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.default
Le mercredi 21 août
Dear Django users,
I am would like to set a default value on a model's field as a result of
a simple query. Something that in SQLAlchemy is done like that:
http://docs.sqlalchemy.org/en/rel_0_7/core/schema.html#sql-expressions
Specifically I want to count some objects in the database and set
4 matches
Mail list logo