👻 Check our latest review to choose the best laptop for Machine Learning engineers and Deep learning tasks!
I have a model that I would like to contain a subjects name and their initials (he data is somewhat anonymized and tracked by initials).
Right now, I wrote
class Subject(models.Model):
name = models.CharField("Name", max_length=30)
def subject_initials(self):
return "".join(map(lambda x: "" if len(x)==0 else x[0],
self.name.split(" ")))
# Next line is what I want to do (or something equivalent), but doesn"t work with
# NameError: name "self" is not defined
subject_init = models.CharField("Subject Initials", max_length=5, default=self.subject_initials)
As indicated by the last line, I would prefer to be able to have the initials actually get stored in the database as a field (independent of name), but that is initialized with a default value based on the name field. However, I am having issues as django models don"t seem to have a "self".
If I change the line to subject_init = models.CharField("Subject initials", max_length=2, default=subject_initials)
, I can do the syncdb, but can"t create new subjects.
Is this possible in Django, having a callable function give a default to some field based on the value of another field?
(For the curious, the reason I want to separate my store initials separately is in rare cases where weird last names may have different than the ones I am tracking. E.g., someone else decided that Subject 1 Named "John O"Mallory" initials are "JM" rather than "JO" and wants to fix edit it as an administrator.)
👻 Read also: what is the best laptop for engineering students?
Django Model Field Default Based Off Another Field in Same Model __del__: Questions
How can I make a time delay in Python?
5 answers
I would like to know how to put a time delay in a Python script.
Answer #1
import time
time.sleep(5) # Delays for 5 seconds. You can also use a float value.
Here is another example where something is run approximately once a minute:
import time
while True:
print("This prints once a minute.")
time.sleep(60) # Delay for 1 minute (60 seconds).
Answer #2
You can use the sleep()
function in the time
module. It can take a float argument for sub-second resolution.
from time import sleep
sleep(0.1) # Time in seconds
Django Model Field Default Based Off Another Field in Same Model __del__: Questions
How to delete a file or folder in Python?
5 answers
How do I delete a file or folder in Python?
Answer #1
os.remove()
removes a file.os.rmdir()
removes an empty directory.shutil.rmtree()
deletes a directory and all its contents.
Path
objects from the Python 3.4+ pathlib
module also expose these instance methods:
pathlib.Path.unlink()
removes a file or symbolic link.pathlib.Path.rmdir()
removes an empty directory.
We hope this article has helped you to resolve the problem. Apart from Django Model Field Default Based Off Another Field in Same Model, check other __del__-related topics.
Want to excel in Python? See our review of the best Python online courses 2023. If you are interested in Data Science, check also how to learn programming in R.
By the way, this material is also available in other languages:
- Italiano Django Model Field Default Based Off Another Field in Same Model
- Deutsch Django Model Field Default Based Off Another Field in Same Model
- Français Django Model Field Default Based Off Another Field in Same Model
- Español Django Model Field Default Based Off Another Field in Same Model
- Türk Django Model Field Default Based Off Another Field in Same Model
- Русский Django Model Field Default Based Off Another Field in Same Model
- Português Django Model Field Default Based Off Another Field in Same Model
- Polski Django Model Field Default Based Off Another Field in Same Model
- Nederlandse Django Model Field Default Based Off Another Field in Same Model
- 中文 Django Model Field Default Based Off Another Field in Same Model
- 한국어 Django Model Field Default Based Off Another Field in Same Model
- 日本語 Django Model Field Default Based Off Another Field in Same Model
- हिन्दी Django Model Field Default Based Off Another Field in Same Model
London | 2023-03-26
Simply put and clear. Thank you for sharing. Django Model Field Default Based Off Another Field in Same Model and other issues with __del__ was always my weak point 😁. Will use it in my bachelor thesis
Berlin | 2023-03-26
sep is always a bit confusing 😭 Django Model Field Default Based Off Another Field in Same Model is not the only problem I encountered. I just hope that will not emerge anymore
San Francisco | 2023-03-26
join is always a bit confusing 😭 Django Model Field Default Based Off Another Field in Same Model is not the only problem I encountered. Will use it in my bachelor thesis